Mysql Strict Mode Aktif mi , Pasif mi?

Mysql Strict Mode Aktif mi , Pasif mi?

Bunu mysql sunucunuzda aşağıdaki sorguyu çalıştırarak öğrenebilirsiniz.

mysql> SELECT @@sql_mode;
+——————————————–+
| @@sql_mode |
+——————————————–+
| STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION |
+——————————————–+
1 row in set (0.00 sec)

Yukarıda aktif gözüküyor.

Bunu doğrulamanın bir diğer yolu ise aşağıdaki sorgudur.

mysql> SHOW VARIABLES LIKE ‘%SQL%’;
Connection id:    159718988
Current database: *** NONE ***

+————————–+——————————————–+
| Variable_name            | Value                                      |
+————————–+——————————————–+
| sql_auto_is_null         | OFF                                        |
| sql_big_selects          | ON                                         |
| sql_big_tables           | OFF                                        |
| sql_buffer_result        | OFF                                        |
| sql_log_bin              | ON                                         |
| sql_log_off              | OFF                                        |
| sql_low_priority_updates | OFF                                        |
| sql_max_join_size        | 18446744073709551615                       |
| sql_mode                 | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION |
| sql_notes                | ON                                         |
| sql_quote_show_create    | ON                                         |
| sql_safe_updates         | OFF                                        |
| sql_select_limit         | 18446744073709551615                       |
| sql_slave_skip_counter   | 0                                          |
| sql_warnings             | OFF                                        |
+————————–+——————————————–+
15 rows in set (0.01 sec)

Kapatmak için my.cnf ya da my.ini dosyanızı açınız.

sql-mode=”STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION”

Yukarıdaki gibi bir satır görüyor iseniz bunu aşağıdaki gibi değiştirip mysql servisini restart edebilirsiniz.

sql-mode=”NO_ENGINE_SUBSTITUTION”

Eğer böyle bir satır yok ise kendiniz aşağıdaki satırı ekleyip servisi restart edebilirsiniz.

sql_mode=NO_ENGINE_SUBSTITUTION

Ayrıca belirtmekte fayda var ki , eğer strict mode aktif çalışıyor iseniz mysql güvenliğiniz daha üst seviyededir. Fakat sunucu üzerinde birden çok fazla db çalıştırıyor iseniz açmanızda bir sakınca bulunmamaktadır. Bu modda MySQL’e has bir çok özellik veritabanı uyumluluğu amacıyla devre dışı bırakılır. Daha doğru sorgular yazmanız ve birçok farklı nedenden dolayı strict mode tavsiye edilir.

Ayhan ARDA

Plesk Panelde Table ‘mysql.servers’ doesn’t exist hatası

Table ‘mysql.servers’ doesn’t exist hatası çözümü;

Ssh ile erişerek aşağıdaki komutları uygulayınız.

[root@webhostingsitesi.com]#mysql -uadmin -p`cat /etc/psa/.psa.shadow` -h localhost

mysql> use mysql;

mysql> CREATE TABLE `servers` ( `Server_name` char(64) NOT NULL, `Host` char(64) NOT NULL, `Db` char(64) NOT NULL, `Username` char(64) NOT NULL, `Password` char(64) NOT NULL, `Port` int(4) DEFAULT NULL, `Socket` char(64) DEFAULT NULL, `Wrapper` char(64) NOT NULL, `Owner` char(64) NOT NULL, PRIMARY KEY (`Server_name`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT=’MySQL Foreign Servers table’;

Ayhan ARDA

KOD :

CREATE TABLE `servers` ( `Server_name` char(64) NOT NULL, `Host` char(64) NOT NULL, `Db` char(64) NOT NULL, `Username` char(64) NOT NULL, `Password` char(64) NOT NULL, `Port` int(4) DEFAULT NULL, `Socket` char(64) DEFAULT NULL, `Wrapper` char(64) NOT NULL, `Owner` char(64) NOT NULL, PRIMARY KEY (`Server_name`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='MySQL Foreign Servers table';

 

 

Cpanel cpmysqladmin had an unknown error hatası çözümü

Cpanel üzerinden veritabanı silerken ya da oluştururken cpmysqladmin had an unknown error şeklinde bir hata alır iseniz ssh üzerinden aşağıdaki komutları sıra ile çalıştırmanız durumu giderecektir.

/scripts/checkperlmodules –full –force
/scripts/mysqlup –force
/scripts/perlinstaller –force DBD::mysql
/scripts/rpmup –force;/scripts/sysup –force; /scripts/upcp –force

SSH üzerinden mysql import ve export işlemleri

Veritabanınızın yedeğini almak için ,

mysqldump -u kullanıcıadı -pşifre databaseadı > yedek.sql

örnek : mysqldump -u ayhan -p12345 ayhandb > sqlyedek.sql

Veritabanınızı ssh üzerinden import etmek için,

mysql -u kullanıcıadı -pşifre databaseadı < yedek.sql

örnek : mysql -u ayhan -p12345 ayhandb < sqlyedek.sql