Mysqladmin

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Outil client d'administration MySQL en ligne de commande
Fourni avec le paquet client MySQL/MariaDB
Voir aussi Mysql · Reset password · Kill

mysqladmin est l'outil client dédié aux opérations d'administration courantes du serveur MySQL/MariaDB : vérification d'état, gestion des bases, purge de caches internes, arrêt propre du service — sans passer par le client SQL interactif.

Syntaxe générale :

mysqladmin -u UTILISATEUR -p COMMANDE [ARGUMENT]

Vérification d'état

Commande Effet
mysqladmin ping Vérifie que le serveur répond
mysqladmin status Affiche un résumé des variables de statut globales
mysqladmin extended-status Affiche l'ensemble des variables de statut
mysqladmin variables Affiche les variables de configuration et leurs valeurs actuelles
mysqladmin version Affiche la version du serveur
mysqladmin processlist Liste les threads/connexions actifs

Exemples :

mysqladmin -u root -p ping
mysqladmin -u root -p version
mysqladmin -u root -p status
mysqladmin -u root -p extended-status
mysqladmin -u root -p variables
mysqladmin -u root -p processlist

Gestion des bases

Créer une base :

mysqladmin create nom_base

Supprimer une base (avec confirmation interactive) :

mysqladmin drop nom_base

Threads et connexions

Tuer un thread client spécifique (identifiant obtenu via processlist) :

mysqladmin kill 50

Voir aussi la commande système Kill pour la terminaison de processus au niveau OS (différent : ceci tue une connexion MySQL, pas un processus).

Purge de caches internes (flush)

Commande Effet
flush-hosts Vide le cache DNS interne et les hôtes bloqués pour trop d'erreurs de connexion
flush-logs Ferme et rouvre les journaux (rotation des logs)
flush-privileges Recharge les tables de droits (équivalent de reload)
flush-status Réinitialise la plupart des variables de statut
flush-tables Ferme les descripteurs de fichiers table ouverts (attend la fin des connexions en cours)
flush-threads Vide le cache de threads
refresh Équivalent combiné de flush-hosts + flush-logs

Exemples :

mysqladmin -u root -p flush-hosts
mysqladmin -u root -p flush-tables
mysqladmin -u root -p flush-threads
mysqladmin -u root -p flush-logs
mysqladmin -u root -p flush-privileges
mysqladmin -u root -p flush-status

Réplication

mysqladmin start-slave
mysqladmin stop-slave

Terminologie historique de MySQL (« master »/« slave ») — MySQL 8.0.22+ et les versions récentes de MariaDB proposent les alias start-replica/stop-replica (à vérifier selon la version exacte du serveur ciblé).

Mot de passe

Changer le mot de passe de l'utilisateur connecté :

mysqladmin password '<nouveau_mot_de_passe>'

Sous-commande historique, encore présente mais dépréciée depuis MySQL 5.7.6 au profit de ALTER USER ... IDENTIFIED BY ... exécuté depuis le client SQL — voir Reset password.

L'option old-password (ancien format de hash sur 16 caractères au lieu de 41) est un vestige de MySQL antérieur à 4.1, retiré des versions modernes : à ignorer sur toute installation actuelle.

Arrêt du serveur

Arrêt propre du démon mysqld (préférable à un kill du processus, qui risque de corrompre des données non flushées) :

mysqladmin shutdown

Voir aussi

  • Mysql — page hub
  • Reset password — pour un mot de passe root perdu (mysqladmin ne peut rien y faire sans le mot de passe actuel)
  • Kill — terminaison de processus au niveau système d'exploitation