20 commandes mysqladmin pour l'administration MYSQL/MariaDB
mysqladmin est un utilitaire d'administration de base de données en ligne de commande fourni avec le serveur MySQL/MariaDB, qui est utilisé par les administrateurs de base de données pour effectuer certaines tâches de base. Tâches >MySQL telles que la définition du mot de passe root, la modification du mot de passe root, la surveillance des processus MySQL, le rechargement des privilèges, la création/suppression de bases de données, la vérification de l'état du serveur, l'affichage des statistiques d'utilisation, l'arrêt des requêtes en cours, etc.
La commande à utiliser mysqladmin et la syntaxe générale sont :
mysqladmin [options] command [command-arg] [command [command-arg]] ...
Si vous n'avez pas de serveur MySQL/MariaDB installé ou si vous utilisez une ancienne version du serveur MySQL, nous vous recommandons d'installer ou de mettre à jour la version de MySQL à l'aide du articles suivants :
- Comment installer MySQL sur des distributions basées sur RHEL
- Comment installer MariaDB dans les systèmes RHEL et Debian
Dans cet article, nous avons compilé quelques commandes « mysqladmin » très utiles qui sont utilisées par les administrateurs système/base de données dans leur travail quotidien. Vous devez avoir un serveur MySQL/MariaDB installé sur votre système pour effectuer ces tâches.
1. Comment définir le mot de passe racine MySQL
Si vous disposez d'une nouvelle installation du serveur MySQL/MariaDB, aucun mot de passe n'est nécessaire pour le connecter en tant qu'utilisateur root. Pour définir le mot de passe MySQL pour l'utilisateur root, utilisez la commande suivante.
mysqladmin -u root password YOURNEWPASSWORD
Avertissement : La définition d'un nouveau mot de passe MYSQL à l'aide de mysqladmin doit être considérée comme vulnérable. Sur certains systèmes, votre mot de passe devient visible pour les programmes d'état du système tels que la commande ps qui peut être exécutée par d'autres utilisateurs pour connaître l'état des processus actifs sur un système.
2. Comment changer le mot de passe racine MySQL
Si vous souhaitez modifier ou mettre à jour le mot de passe root MySQL, vous devez alors taper la commande suivante. Par exemple, supposons que votre ancien mot de passe soit 123456 et que vous souhaitiez le modifier avec un nouveau mot de passe, par exemple xyz123.
mysqladmin -u root -p123456 password 'xyz123'
3. Comment vérifier l'état du serveur MySQL
Pour savoir si le serveur MySQL est opérationnel, utilisez la commande suivante.
mysqladmin -u root -p ping
Enter password:
mysqld is alive
4. Comment vérifier quelle version de MySQL j'utilise
La commande suivante affiche la version MySQL ainsi que l'état d'exécution actuel.
mysqladmin -u root -p version
Enter password:
mysqladmin Ver 9.1 Distrib 10.3.32-MariaDB, for Linux on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab, and others.
Server version 10.3.32-MariaDB
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime: 18 min 6 sec
Threads: 6 Questions: 20 Slow queries: 0 Opens: 18 Flush tables: 1
Open tables: 11 Queries per second avg: 0.018
5. Comment connaître l'état actuel du serveur MySQL
Pour connaître l'état actuel du serveur MySQL, utilisez la commande suivante. La commande mysqladmin affiche l'état du temps de disponibilité avec l'exécution des threads et des requêtes.
mysqladmin -u root -p status
Enter password:
Uptime: 1185 Threads: 6 Questions: 21 Slow queries: 0 Opens: 18 Flush tables: 1
Open tables: 11 Queries per second avg: 0.017
6. Comment vérifier les variables d'état MySQL et leurs valeurs
Pour vérifier tout l'état d'exécution des variables et valeurs du serveur MySQL, tapez la commande suivante. Le résultat serait similaire à celui ci-dessous.
mysqladmin -u root -p extended-status
Enter password:
+--------------------------------------------------------------+
| Variable_name | Value |
+--------------------------------------------------------------+
| Aborted_clients | 0 |
| Aborted_connects | 2 |
| Access_denied_errors | 2 |
| Acl_column_grants | 0 |
| Acl_database_grants | 0 |
| Acl_function_grants | 0 |
| Acl_procedure_grants | 0 |
| Acl_package_spec_grants | 0 |
| Acl_package_body_grants | 0 |
| Acl_proxy_users | 2 |
| Acl_role_grants | 0 |
| Acl_roles | 0 |
| Acl_table_grants | 0 |
| Acl_users | 4 |
| Aria_pagecache_blocks_not_flushed | 0 |
| Aria_pagecache_blocks_unused | 15706 |
| Aria_pagecache_blocks_used | 0 |
| Aria_pagecache_read_requests | 0 |
| Aria_pagecache_reads | 0 |
| Aria_pagecache_write_requests | 0 |
...
7. Comment voir toutes les variables et valeurs du serveur MySQL ?
Pour voir toutes les variables et valeurs en cours d'exécution du serveur MySQL, utilisez la commande comme suit.
mysqladmin -u root -p variables
Enter password:
+--------------------------------------------+-----------------------------+
| Variable_name | Value |
+--------------------------------------------+-----------------------------+
| auto_increment_increment | 1 |
| auto_increment_offset | 1 |
| autocommit | ON |
| automatic_sp_privileges | ON |
| back_log | 50 |
| basedir | /usr |
| big_tables | OFF |
| binlog_cache_size | 32768 |
| binlog_direct_non_transactional_updates | OFF |
| binlog_format | STATEMENT |
| binlog_stmt_cache_size | 32768 |
| bulk_insert_buffer_size | 8388608 |
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
| collation_connection | latin1_swedish_ci |
+---------------------------------------------------+----------------------+
...
8. Comment vérifier les threads actifs du serveur MySQL
La commande suivante affichera tous les processus en cours d'exécution des requêtes de base de données MySQL.
mysqladmin -u root -p processlist
Enter password:
+----+-------------+-----------+----+---------+------+--------------------------+------------------+----------+
| Id | User | Host | db | Command | Time | State | Info | Progress |
+----+-------------+-----------+----+---------+------+--------------------------+------------------+----------+
| 2 | system user | | | Daemon | | InnoDB purge coordinator | | 0.000 |
| 1 | system user | | | Daemon | | InnoDB purge worker | | 0.000 |
| 4 | system user | | | Daemon | | InnoDB purge worker | | 0.000 |
| 3 | system user | | | Daemon | | InnoDB purge worker | | 0.000 |
| 5 | system user | | | Daemon | | InnoDB shutdown handler | | 0.000 |
| 20 | root | localhost | | Query | 0 | Init | show processlist | 0.000 |
+----+-------------+-----------+----+---------+------+--------------------------+------------------+----------+
9. Comment créer une base de données sur le serveur MySQL
Pour créer une nouvelle base de données sur le serveur MySQL, utilisez la commande ci-dessous.
mysqladmin -u root -p create tecmint
Enter password:
mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 22
Server version: 10.3.32-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab, and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| tecmint |
+--------------------+
4 rows in set (0.001 sec)
10. Comment supprimer une base de données sur le serveur MySQL
Pour déposer une base de données sur le serveur MySQL, utilisez la commande suivante. Il vous sera demandé de confirmer en appuyant sur « y ».
mysqladmin -u root -p drop tecmint
Enter password:
Dropping the database is potentially a very bad thing to do.
Any data stored in the database will be destroyed.
Do you really want to drop the 'tecmint' database [y/N] y
Database "tecmint" dropped
11. Comment recharger/actualiser les privilèges MySQL ?
La commande reload indique au serveur de recharger les tables de droits et la commande refresh vide toutes les tables et rouvre les fichiers journaux.
mysqladmin -u root -p reload
mysqladmin -u root -p refresh
12. Comment arrêter le serveur MySQL en toute sécurité
Pour arrêter le serveur MySQL en toute sécurité, tapez la commande suivante.
mysqladmin -u root -p shutdown
Enter password:
Vous pouvez également utiliser les commandes suivantes pour démarrer/arrêter le serveur MySQL.
systemctl stop mysqld
systemctl start mysqld
Or
systemctl stop mariadb
systemctl start mariadb
13. Quelques commandes MySQL Flush utiles
Voici quelques commandes de vidage utiles avec leur description.
- flush-hosts : vide toutes les informations sur l'hôte du cache de l'hôte.
- flush-tables : videz toutes les tables.
- flush-threads : vider le cache de tous les threads.
- flush-logs : vider tous les journaux d'informations.
- flush-privileges : rechargez les tables d'attribution (identique au rechargement).
- flush-status : effacer les variables d'état.
Voyons ces commandes.
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
14. Comment tuer le processus client MySQL en veille ?
Utilisez la commande suivante pour identifier le processus client MySQL en veille.
mysqladmin -u root -p processlist
Enter password:
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------+----+---------+------+-------+------------------+
| 5 | root | localhost | | Sleep | 14 | | |
| 8 | root | localhost | | Query | 0 | | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+
Maintenant, exécutez la commande suivante avec kill et process ID comme indiqué ci-dessous.
mysqladmin -u root -p kill 5
Enter password:
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------+----+---------+------+-------+------------------+
| 12 | root | localhost | | Query | 0 | | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+
Si vous souhaitez tuer plusieurs processus, transmettez les identifiants de processus avec des virgules séparées comme indiqué ci-dessous.
mysqladmin -u root -p kill 5,10
15. Comment exécuter plusieurs commandes mysqladmin ensemble
Si vous souhaitez exécuter plusieurs commandes « mysqladmin » ensemble, alors la commande ressemblerait à ceci.
mysqladmin -u root -p processlist status version
Enter password:
+----+-------------+-----------+----+---------+------+--------------------------+------------------+----------+
| Id | User | Host | db | Command | Time | State | Info | Progress |
+----+-------------+-----------+----+---------+------+--------------------------+------------------+----------+
| 1 | system user | | | Daemon | | InnoDB purge worker | | 0.000 |
| 2 | system user | | | Daemon | | InnoDB purge coordinator | | 0.000 |
| 4 | system user | | | Daemon | | InnoDB purge worker | | 0.000 |
| 3 | system user | | | Daemon | | InnoDB purge worker | | 0.000 |
| 5 | system user | | | Daemon | | InnoDB shutdown handler | | 0.000 |
| 9 | root | localhost | | Query | 0 | Init | show processlist | 0.000 |
+----+-------------+-----------+----+---------+------+--------------------------+------------------+----------+
Uptime: 173 Threads: 6 Questions: 4 Slow queries: 0 Opens: 18 Flush tables: 1 Open tables: 11 Queries per second avg: 0.023
mysqladmin Ver 9.1 Distrib 10.3.32-MariaDB, for Linux on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab, and others.
Server version 10.3.32-MariaDB
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime: 2 min 53 sec
Threads: 6 Questions: 4 Slow queries: 0 Opens: 18 Flush tables: 1 Open tables: 11 Queries per second avg: 0.023
16. Comment connecter un serveur Mysql distant
Pour vous connecter au serveur MySQL distant, utilisez le -h (hôte) avec l'adresse IP du serveur distant. machine.
mysqladmin -h 172.16.25.126 -u root -p
17. Comment exécuter une commande sur un serveur MySQL distant
Supposons que vous souhaitiez voir le statut du serveur MySQL distant, alors la commande serait.
mysqladmin -h 172.16.25.126 -u root -p status
18. Comment démarrer/arrêter la réplication MySQL sur un serveur esclave
Pour démarrer/arrêter la réplication MySQL sur le serveur esclave, utilisez les commandes suivantes.
mysqladmin -u root -p start-slave
mysqladmin -u root -p stop-slave
19. Comment stocker les informations de débogage du serveur MySQL dans les journaux
Il indique au serveur d'écrire des informations de débogage sur les verrous utilisés, la mémoire utilisée et l'utilisation des requêtes dans le fichier journal MySQL, y compris des informations sur le planificateur d'événements.
mysqladmin -u root -p debug
Enter password:
20. Comment afficher les options et l'utilisation de mysqladmin
Pour en savoir plus sur les options et l'utilisation de la commande myslqadmin, utilisez la commande d'aide comme indiqué ci-dessous. Il affichera une liste des options disponibles.
mysqladmin --help
Nous avons fait de notre mieux pour inclure presque toutes les commandes 'mysqladmin' avec leurs exemples dans cet article. Si néanmoins nous avons manqué quelque chose, veuillez nous le faire savoir via les commentaires, et ne le faites pas. oubliez de partager avec vos amis.