Mise en place de Monit

Monit a pour fonction de “surveiller” service et/ou les ressources système et d’exécuter une ou plusieurs actions en fonction de condition. Par exemple, il peut redémarrer Nginx si celui ci ne répond plus.

[Voir plus]

Configuration du Timezone par connections

Lorsque vous voulez définir le fuseau horaire lors d’une connexion MySQL, il se peut que vous ailler les erreurs suivante lorsque vous définissez le fuseau horaire :

[Voir plus]

Changer la taille de innodb_log_file_size

Si vous avez besoin de modifier le paramètre innodb_log_file_size ,il ne faut pas juste modifier le paramètre et redémarrez le serveur. Si vous le faites, InnoDB va refuser de démarrer car les journaux existants ne correspondent pas à la taille configurée. Vous devez arrêter le serveur proprement, déplacer (ne pas supprimer) les fichiers ib_logfile0 ib_logfile1, etc. Vérifiez le journal des erreurs pour s’assurer qu’il n’y a pas de problème de fermeture. [Voir plus]

Exporter tous les comptes MySQL

La commandes ci-dessous va vous générer les requêtes SQL pour pouvoir recréer tous vos comptes MySQL en quelque secondes

Le mot de passe du compte root sera donc modifié sur le serveur ou vous aller exécuter ces requêtes.

mysql --skip-column-names -B -e "select user,host from mysql.user;" |awk {'print "show grants for \x27"$1"\[email protected]\x27"$2"\x27;"'} | mysql --skip-column-names -B

Analyser les requêtes MySQL

Percona a développé un outils permettant de parser les logs tcpdump et les slow query MySQL. Cela nous permet donc de pouvoir rapidement localiser les requetes lentes. Pour avoir le top10 des requêtes lentes en “ direct ” via tcpdump : tcpdump -i en0 port 3306 -s 65535 -c 10000 -x -n -q -tttt | pt-query-digest --type tcpdump --report-format=profile --limit=10 Via le slow query log : pt-query-digest --limit=10 /var/log/mysql/slow.log Installation : https://www. [Voir plus]

Détail sur l'utilisation de la mémoire vive par MySQL

L’utilisation maximum de la mémoire vive par MySQL se calcule de la manière suivante d’après mysqltuner.pl :

key_buffer_size + max_tmp_table_size + ( read_buffer_size + read_rnd_buffer_size + sort_buffer_size + thread_stack + join_buffer_size ) * max_connections

max_tmp_table_size : si tmp_table_size > max_heap_table_size -> max_heap_table_size sinon tmp_table_size

Import/Export MySQL "rapide"

export.sh Les données sont exporté avec mysqldump et le paramètre -T -T : Creates tab separated textfile for each table to given path. (creates .sql and .txt files). NOTE: This only works if mysqldump is run on the same machine as the mysqld daemon. Ce script doit donc etre executé directement sur le serveur MySQL Export #!/bin/bash DST='/var/backup/mysql/dump for bdd in `mysql --skip-column-names -B -e "show databases;" | egrep -v "^information_schema$|^mysql$"`; do echo -ne $bdd mysql --skip-column-names -B -e "SHOW CREATE DATABASE $bdd;" | cut -d" " -f2- > $DST/create-$bdd. [Voir plus]