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.