Recherche de site Web

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.