Easy-Micro

ESPACEMEMBRE MySQL/MariaDB
Maintenance

Maintenance et sauvegarde du serveur MySQL

Formation MySQL par Easy-Micro Requête de maintenance

Pour réaliser une opération de maintenance sur une table, on exécute aussi une requête.

Requête de maintenance
mysql> CHECK TABLE mabase.clients;

Suivant la réponses de la requête de maintenance, on réalisera ces requêtes:

Si message type est "une table pas fermée" dans un CHECK TABLE, faire un
mysql> FLUSH TABLES;
Note: la commande FLUSH vide les caches de MySQL

Par exemple, lors d'un changement d'adresse IP faire un FLUSH HOSTS; ou encore un FLUSH LOGS; pour fermer les fichiers de suivis actifs et en ouvrir de nouveaux.

Pour vider les caches des tables en lecture
mysql> FLUSH TABLES WITH READ LOCK;
Après avoir verrouiller les tables en lecture "LOCK TABLES;" - "UNLOCK TABLES;" pour déverrouiller. Voir la syntaxe de la commande FLUSH
Si message type est "erreur" dans un CHECK TABLE, faire un
mysql> REPAIR TABLE clients;

Formation MySQL par Easy-Micro Commande TEE

La commande "TEE" enregistre tout ce qui est affiché à l'écran (commandes et résultats)

Pour arrêter la sauvegarde des informations, on utilise la commande NOTEE (mysql> NOTEE;)
mysql> TEE C:/Program Files/MySQL/monfichier.txt;
Attention: commande sans guillemets!

Formation MySQL par Easy-Micro Sauvegarde

Pour réaliser une sauvegarde on exécute une requête qui copie 2 fichiers :
• clients.frm (structure de la table)
• clients.myd (soit mydata: fichiers d'extension)
-> Notez que le fichier correspondant à la table index (clients.myi) n'est pas sauvegardée car il sera restauré à partir des deux autres fichiers.

Requête de sauvegarde
mysql> BACKUP TABLE mabase.clients TO "C:/";
Requête pour récupérer la sauvegarde
mysql> RESTORE TABLE mabase.clients FROM "C:/";

Formation MySQL par Easy-Micro Autre requête de maintenance

"Défragmenter" une table
mysql> OPTIMIZE TABLE clients;
Mise à jour des statistiques
mysql> ANALYZE TABLE clients;
Afficher la structure d'une table
mysql> DESCRIBE articles;
Vider rapidement une table
mysql> TRUNCATE Table articles;
Interrompre un process en cours (numéro id obtenu avec un mysql> SHOW PROCESSLIST;)
mysql> KILL 8;
Attention: un kill user ou threads sur un utilisateur déjà connecté depuis son invite de commande (...bin> mysql -h 10.33.100.46 -u root2 -p) sera déconnecté. Mais si celui ci refait une requête aussitôt, il est reconnecté automatiquement.
Modifier une option du serveur (voir les options avec un mysql> SHOW VARIABLES; et mysqladmin
mysql> SET max_connections=100;
Pour chercher une erreur dans une requête, on rajoute un EXPLAIN devant le SELECT existant
mysql>EXPLAIN SELECT * FROM clients;
Voir le temps d'exécution d'une requête (une sorte de PING pour MySQL)
mysql>SELECT BENCHMARK(1000000, "SELCT * FROM articles");
Afficher les tables ouvertes
mysql>SHOW OPEN TABLES;
Voir les privilèges
mysql>SHOW GRANTS FOR root@localhost;
Afficher la requête qui crée une table
mysql>SHOW CREATE TABLE clients;

< Page précédente MYSQL/MARIADB Page suivante >