Ceci est une ancienne révision du document !
wget --no-check-certificate https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl perl mysqltuner.pl
Y’a plus qu’a corriger les valeurs des variables qu’il suggère et faire un restart de mysql ;)
Pour voir toutes les variables
mysqladmin variables -p mysql> show variables; mysql> show global variables like 'log_output';
Pour voir les status
mysql> show status;
Pour vérifier vos fichiers de config avant de redémarrer le service mysql
mysqld --help
ou
mysqld --verbose --help | head
Sauvegarder une base
mysqldump -u user -p nom_de_la_base > backup.sql
Sauvegarder toutes les tables avec un prefix
mysqldump -h hostname -u user -p $(mysql nom_de_la_base -h hostname -u user -p -Bse 'show tables like"phpbb\_%"') > dump_phpbb_.sql
Restaurer
mysql -u user -p nom_de_la_base < backup.sql
Process list
mysql>show processlist;
Kill process
mysql>kill "number from first col";
Se connecter à mysql
mysql -h localhost -u root -p
Vérifier la config des logs
mysql> show global variables like 'log_output'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | log_output | FILE | +---------------+-------+ 1 row in set (0.00 sec) mysql> show global variables like 'general_log_file'; +------------------+----------------------------+ | Variable_name | Value | +------------------+----------------------------+ | general_log_file | /var/run/mysqld/mysqld.log | +------------------+----------------------------+ 1 row in set (0.00 sec) mysql> show global variables like 'general_log'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | general_log | OFF | +---------------+-------+ 1 row in set (0.00 sec)
Activer les logs
mysql> set global general_log='ON'; Query OK, 0 rows affected (0.04 sec)
Désactiver les logs
mysql> set global general_log='OFF'; Query OK, 0 rows affected (0.02 sec)
Puis consulter votre fichier de log (ex:/var/run/mysqld/mysqld.log)
<?php $host = 'localhost'; $db = 'maBase'; $password = 'p4ssW0rD'; $user = 'root'; echo "Votre base est en cours de sauvegarde....... "; system("mysqldump --host=$host --user=$user --password=$password $db > $db.sql"); echo "C'est fini. Vous pouvez récupérer la base par FTP"; ?>
Plein d’exemples de codes de backup et restauration sur ⇒ http://vitobotta.com/smarter-faster-backups-restores-mysql-databases-with-mysqldump/
Permet des backups à chaud sans perte en copiant directement les fichiers de mysql et en appliquant les transactions en cours.