MySQLTuner Kurulumu

MySQLTuner Kurulumu

MySQLTuner, Mysql servisinin performansını ölçmek istediğimiz durumlarda kullanabileceğimiz Perl ile yazılmış başarılı bir araç. basit bir kurulum ile geliyor, performans ve stabiilteiçin öneriler sunuyor , mysqltuner çalıştırılmadan önce mysql servisiniz ne kadar süredir çalışıyor ise mysqltuner’dan o kadar doğru değerler alabilirsiniz. MySQL/MariaDB/Percona Server için kullanabilirsiniz , sadece mysql için olduğunu düşünmeyin. 300 den fazla indikator ile geliyor.

Kurulum aşağıdaki gibi , komutları sırası ile çalıştırmanız yeterli.

wget http://mysqltuner.pl/ -O mysqltuner.pl
wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/basic_passwords.txt -O basic_passwords.txt
wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/vulnerabilities.csv -O vulnerabilities.csv
perl mysqltuner.pl

Ayhan ARDA

The system received an error from the “MySQL” database “mysql”: ER_PASSWORD_NO_MATCH (Can’t find any matching row in the user table) hatası ve çözümü

Genellikle cpanel de mysql veritabanı ve kullanıcısı oluşturmaya çalışırken aşağıdaki hatayı alabilirsiniz.

The system received an error from the “MySQL” database “mysql”: ER_PASSWORD_NO_MATCH (Can’t find any matching row in the user table)

Bu durumda yapmanız gereken şey my.cnf dosyanızda skip-name-resolve satırını kapatmanız.

nano /etc/my.cnf

skip-name-resolve

#skip-name-resolve

service mysql restart

Tekrar mysql oluşturduğunuzda bu hatayı almayacaksınız.

Ayhan ARDA

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