Búsqueda de sitios web

20 comandos de mysqladmin para la administración de MYSQL/MariaDB


mysqladmin es una utilidad de administración de bases de datos de línea de comandos que viene con el servidor MySQL/MariaDB, que utilizan los administradores de bases de datos para realizar algunas tareas básicas. Tareas de >MySQL como configurar la contraseña de root, cambiar la contraseña de root, monitorear procesos de mysql, recargar privilegios, crear/eliminar bases de datos, verificar el estado del servidor, mostrar estadísticas de uso, eliminar consultas en ejecución, etc.

El comando a utilizar mysqladmin y la sintaxis general es:

mysqladmin [options] command [command-arg] [command [command-arg]] ...

Si no tiene instalado el servidor MySQL/MariaDB o está utilizando una versión anterior del servidor MySQL, le recomendamos que instale o actualice la versión de MySQL usando el siguientes artículos:

  • Cómo instalar MySQL en distribuciones basadas en RHEL
  • Cómo instalar MariaDB en sistemas RHEL y Debian

En este artículo, hemos recopilado algunos comandos 'mysqladmin' muy útiles que utilizan los administradores de sistemas/bases de datos en su trabajo diario. Debe tener el servidor MySQL/MariaDB instalado en su sistema para realizar estas tareas.

1. Cómo configurar la contraseña raíz de MySQL

Si tiene una instalación nueva del servidor MySQL/MariaDB, no requiere ninguna contraseña para conectarse como usuario root. Para establecer la contraseña de MySQL para el usuario root, utilice el siguiente comando.

mysqladmin -u root password YOURNEWPASSWORD

Advertencia: Establecer una nueva contraseña MYSQL usando mysqladmin debe considerarse vulnerable. En algunos sistemas, su contraseña se vuelve visible para los programas de estado del sistema, como el comando ps, que pueden ejecutar otros usuarios para conocer el estado de los procesos activos en un sistema.

2. Cómo cambiar la contraseña raíz de MySQL

Si desea cambiar o actualizar la contraseña raíz de MySQL, debe escribir el siguiente comando. Por ejemplo, digamos que su contraseña anterior es 123456 y desea cambiarla con una nueva contraseña, por ejemplo xyz123.

mysqladmin -u root -p123456 password 'xyz123'

3. Cómo verificar el estado del servidor MySQL

Para saber si el servidor MySQL está en funcionamiento, utilice el siguiente comando.

mysqladmin -u root -p ping

Enter password:
mysqld is alive

4. Cómo comprobar qué versión de MySQL estoy ejecutando

El siguiente comando muestra la versión de MySQL junto con el estado de ejecución actual.

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. Cómo averiguar el estado actual del servidor MySQL

Para conocer el estado actual del servidor MySQL, utilice el siguiente comando. El comando mysqladmin muestra el estado del tiempo de actividad con hilos en ejecución y consultas.

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. Cómo verificar las variables de estado de MySQL y sus valores

Para verificar todo el estado de ejecución de las variables y valores del servidor MySQL, escriba el siguiente comando. El resultado sería similar al siguiente.

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. ¿Cómo ver todas las variables y valores del servidor MySQL?

Para ver todas las variables y valores en ejecución del servidor MySQL, utilice el siguiente comando.

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. Cómo verificar los subprocesos activos del servidor MySQL

El siguiente comando mostrará todos los procesos en ejecución de consultas de la base de datos 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. Cómo crear una base de datos en el servidor MySQL

Para crear una nueva base de datos en el servidor MySQL, utilice el comando que se muestra a continuación.

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. Cómo eliminar una base de datos en el servidor MySQL

Para colocar una base de datos en el servidor MySQL, utilice el siguiente comando. Se le pedirá que confirme y presione '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. ¿Cómo recargar/actualizar los privilegios de MySQL?

El comando reload le dice al servidor que vuelva a cargar las tablas de concesión y el comando refresh vacía todas las tablas y vuelve a abrir los archivos de registro.

mysqladmin -u root -p reload
mysqladmin -u root -p refresh

12. Cómo cerrar el servidor MySQL de forma segura

Para apagar el servidor MySQL de forma segura, escriba el siguiente comando.

mysqladmin -u root -p shutdown

Enter password:

También puede utilizar los siguientes comandos para iniciar/detener el servidor MySQL.

systemctl stop mysqld
systemctl start mysqld
Or
systemctl stop mariadb
systemctl start mariadb

13. Algunos comandos útiles de vaciado de MySQL

A continuación se muestran algunos comandos de descarga útiles con su descripción.

  • flush-hosts: borra toda la información del host de la caché del host.
  • flush-tables: Vacía todas las tablas.
  • flush-threads: vacía la caché de todos los subprocesos.
  • flush-logs: elimina todos los registros de información.
  • flush-privileges: recarga las tablas de concesión (igual que recargar).
  • flush-status: Borrar variables de estado.

Veamos estos comandos.

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. ¿Cómo eliminar el proceso cliente MySQL inactivo?

Utilice el siguiente comando para identificar el proceso del cliente MySQL inactivo.

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 |
+----+------+-----------+----+---------+------+-------+------------------+

Ahora, ejecute el siguiente comando con kill y ID de proceso como se muestra a continuación.

mysqladmin -u root -p kill 5

Enter password:
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host      | db | Command | Time | State | Info             |
+----+------+-----------+----+---------+------+-------+------------------+
| 12 | root | localhost |    | Query   | 0    |       | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+

Si desea eliminar varios procesos, pase los ID de proceso con comas separadas como se muestra a continuación.

mysqladmin -u root -p kill 5,10

15. Cómo ejecutar varios comandos de mysqladmin juntos

Si desea ejecutar varios comandos 'mysqladmin' juntos, entonces el comando sería así.

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. Cómo conectar un servidor Mysql remoto

Para conectarse al servidor MySQL remoto, utilice el -h (host)  con la Dirección IP del servidor remoto máquina.

mysqladmin -h 172.16.25.126 -u root -p

17. Cómo ejecutar comandos en un servidor MySQL remoto

Digamos que le gustaría ver el estado del servidor MySQL remoto, entonces el comando sería.

mysqladmin -h 172.16.25.126 -u root -p status

18. Cómo iniciar/detener la replicación de MySQL en un servidor esclavo

Para iniciar/detener la replicación de MySQL en el servidor esclavo, utilice los siguientes comandos.

mysqladmin  -u root -p start-slave
mysqladmin  -u root -p stop-slave

19. Cómo almacenar información de depuración del servidor MySQL en registros

Le indica al servidor que escriba información de depuración sobre bloqueos en uso, memoria utilizada y uso de consultas en el archivo de registro MySQL, incluida información sobre el programador de eventos.

mysqladmin  -u root -p debug

Enter password:

20. Cómo ver las opciones y el uso de mysqladmin

Para conocer más opciones y uso del comando myslqadmin utilice el comando de ayuda como se muestra a continuación. Mostrará una lista de opciones disponibles.

mysqladmin --help

Hemos hecho todo lo posible para incluir casi todos los comandos 'mysqladmin' con sus ejemplos en este artículo. Si aún así, nos hemos perdido algo, háganoslo saber a través de comentarios y no lo haga. Olvídate de compartir con tus amigos.