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 vérouiller les tables en lecture "LOCK TABLES;" - "UNLOCK TABLES;" pour dévérouiller. Voir la syntaxe de la commande FLUSH. Si message type est "erreur" dans un CHECK TABLE, faire un mysql> REPAIR TABLE clients; ![]() "Défragmenter" une table mysql> OPTIMIZE TABLE clients; Mise à jour des statistiques mysql> ANALYZE TABLE clients; Afficher la stucture 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 requete aussitôt, il est reconnecté automatiquement.Modifier une option du serveur (voir les options avec un mysql> SHOW VARIABLES;) -> voir aussi le programme 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 la base mysql>SHOW DATABASES; Afficher les tables mysql>SHOW OPEN TABLES; Voir les pivilèges mysql>SHOW GRANTS FOR root@localhost; Afficher la requête qui crée une table mysql>SHOW CREATE TABLE clients; 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 commmande NOTEE (mysql> NOTEE;). Attention: commande sans guillemets! mysql> TEE C:/Program Files/MySQL/monfichier.txt; ![]() 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:/"; |