Le fichier de configuration de mysql est /etc/mysql/my.cnf
La premières choses que l’on va faire est d’activer le log des requêtes longues et de celles n’utilisant pas correctement les index SQL.
Pour ce faire, on édite le fichier de configuration :
- sudo nano /etc/mysql/my.cnf
Et on décommente ou ajoute en fin de fichier les lignes suivantes [[Depuis la version 5.1.12, la syntaxe a changé slow_query_log_file
remplace log_slow_queries
et il faut dorénavant activer le log par slow_query_log=1
:
- slow_query_log=1
- slow_query_log_file = /var/log/mysql/mysql-slow.log
- long_query_time = 2
- log-queries-not-using-indexes
On redémarre ensuite le serveur pour que ce soit pris en compte :
- sudo /etc/init.d/mysql restart
Normalement, après quelques minutes, vous devriez pouvoir voir des choses dans le fichier /var/log/mysql/mysql-slow.log
avec la commande suivante par exempe :
- sudo less /var/log/mysql/mysql-slow.log
Utilisation d’un script de test
MySQLtuner
Récupérer le script et le rendre exécutable :
- wget https://raw.githubusercontent.com/rackerhacker/MySQLTuner-perl/master/mysqltuner.pl
- chmod +x mysqltuner.pl
Lancer pour la première fois le script :
- ./mysqltuner
Il va vous demander le login et le mot de passe d’administration du serveur mysql.
Après quelques secondes il indique certains éléments qui peuvent être améliorés dans la configuration.
-
query_cache_size
: exemplequery_cache_size = 512M
; -
table_cache
: exempletable_cache = 1000
; -
sort_buffer_size
: exemplesort_buffer_size = 8M
-
innodb_buffer_pool_size
: exempleinnodb_buffer_pool_size = 24M