Mysqladmin es una herramienta en la línea de comandos que viene junto con el servidor MySQL y es utilizada por los administradores de bases de datos, SySadmin y DevOps para realizar tareas recurrentes y/o diagnosticar problemas.
En este artículo hemos compilado algunos de los comandos más utilizados al momento de detectar las causas de incidentes y problemas de performance.
Para poner en prácticas los comandos debe tener un servidor MySQL instalado. En caso de, lee nuestro artículo cómo instalar MySQL en CentOS 7.
[1] Conectarse como root a MySQL
# mysqladmin -u root password YOURNEWPASSWORD
[2] Comprobar que el servidor MySQL está funcionando
# mysqladmin -u root -p ping
Enter password:
mysqld is alive
[3] Determinar la versión de MySQL
# mysqladmin -u root -p version
Enter password:
mysqladmin Ver 8.0.16 for Linux on x86_64 (MySQL Community Server – GPL)
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Server version 8.0.16
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime: 11 min 4 sec
Threads: 2 Questions: 20 Slow queries: 0 Opens: 147 Flush tables: 3 Open tables: 48 Queries per second avg: 0.030
[4] Determinar el status de las variables y valores de MySQL
# mysqladmin -u root -p status
Enter password:
Uptime: 927 Threads: 2 Questions: 26 Slow queries: 0 Opens: 157 Flush tables: 3 Open tables: 58 Queries per second avg: 0.028
[5] Verificar todas las variables de MySQL
#mysqladmin -u root -p extended-status
[6] Mostrar todas las variables de MySQL
#mysqladmin -u root -p variables
[7] Revisar todos los procesos en ejecución relacionados en MySQL
# mysqladmin -u root -p processlist
[8] Crear una base de datos en MySQL
# mysqladmin -u root -p create databasename
mysql -u root -p
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
mysql> show databases;
[9] Borrar una base de datos en MySQL
# mysqladmin -u root -p drop databasename
[10] Reiniciar los privilegios de los usuarios
# mysqladmin -u root -p reload;
# mysqladmin -u root -p refresh
[11] Apagar el servidor MySQL de forma segura
# mysqladmin -u root -p shutdown
También podemos hacerlo de la siguiente manera:
# systemctl start mysqld
# systemctl stop mysqld
[12] Limpiar el listado de nodos alojados en el caché
# mysqladmin -u root -p flush-hosts
[13] Limpiar todas las tablas
mysqladmin -u root -p flush-tables
[14] Limpiar los threads del cache
# mysqladmin -u root -p flush-threads
[15] Limpiar la información de logs
# mysqladmin -u root -p flush-logs
[16] Recargar los privilegios otorgados
# mysqladmin -u root -p flush-privileges
[17] Limpiar las variables
# mysqladmin -u root -p flush-status
[18] “Matar” un proceso “dormido” de un cliente MySQL
# mysqladmin -u root -p processlist
# mysqladmin -u root -p kill 5
[19] Conectarse a un servidor MySQL remoto
mysqladmin -h 192.168.2.1 -u root -p
[20] Ejecutar un comando en servidor remoto
# mysqladmin -h 172.16.25.126 -u root -p status
[21] Activar/desactivar la replicación hacia un servidor esclavo
# mysqladmin -u root -p start-slave