20 comandos de MySQL (Mysqladmin) para la administración de bases de datos en Linux


mysqladmin es una utilidad de línea de comandos que viene con el servidor MySQL y es utilizada por los administradores de bases de datos para realizar algunas tareas básicas de MySQL fácilmente, como configurar la contraseña de root, cambiar la contraseña de root, monitorear los procesos de mysql, recargar privilegios, verificar el estado del servidor, etc.

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 instalado en su sistema para realizar estas tareas.

Si no tiene un servidor MySQL instalado o está utilizando una versión anterior del servidor MySQL, les recomendamos que instalen o actualicen su versión siguiendo nuestro artículo a continuación.

  1. Installation of MySQL 5.5.28 Server on RHEL/CentOS/Fedora

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

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

# mysqladmin -u root password YOURNEWPASSWORD

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

Si desea cambiar o actualizar la contraseña de root 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, digamos xyz123.

mysqladmin -u root -p123456 password 'xyz123'

3. ¿Cómo comprobar si MySQL Server está funcionando?

Para saber si el servidor MySQL está funcionando, use 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 8.42 Distrib 5.5.28, for Linux on i686
Copyright (c) 2000, 2012, 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          5.5.28
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /var/lib/mysql/mysql.sock
Uptime:                 7 days 14 min 45 sec

Threads: 2  Questions: 36002  Slow queries: 0  Opens: 15  Flush tables: 1  Open tables: 8  Queries per second avg: 0.059

5. ¿Cómo averiguar el estado actual del servidor MySQL?

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

# mysqladmin -u root -ptmppassword status

Enter password:
Uptime: 606704  Threads: 2  Questions: 36003  Slow queries: 0  Opens: 15  Flush tables: 1  Open tables: 8  Queries per second avg: 0.059

6. ¿Cómo comprobar el estado de todas las variables y valores del servidor MySQL?

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

# mysqladmin -u root -p extended-status

Enter password:
+------------------------------------------+-------------+
| Variable_name                            | Value       |
+------------------------------------------+-------------+
| Aborted_clients                          | 3           |
| Aborted_connects                         | 3           |
| Binlog_cache_disk_use                    | 0           |
| Binlog_cache_use                         | 0           |
| Binlog_stmt_cache_disk_use               | 0           |
| Binlog_stmt_cache_use                    | 0           |
| Bytes_received                           | 6400357     |
| Bytes_sent                               | 2610105     |
| Com_admin_commands                       | 3           |
| Com_assign_to_keycache                   | 0           |
| Com_alter_db                             | 0           |
| Com_alter_db_upgrade                     | 0           |
| Com_alter_event                          | 0           |
| Com_alter_function                       | 0           |
| Com_alter_procedure                      | 0           |
| Com_alter_server                         | 0           |
| Com_alter_table                          | 0           |
| Com_alter_tablespace                     | 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, use el comando de la siguiente manera.

# 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 comprobar todo el proceso en ejecución del servidor MySQL?

El siguiente comando mostrará todo el proceso en ejecución de las consultas de la base de datos MySQL.

# mysqladmin -u root -p processlist

Enter password:
+-------+---------+-----------------+---------+---------+------+-------+------------------+
| Id    | User    | Host            | db      | Command | Time | State | Info             |
+-------+---------+-----------------+---------+---------+------+-------+------------------+
| 18001 | rsyslog | localhost:38307 | rsyslog | Sleep   | 5590 |       |                  |
| 18020 | root    | localhost       |         | Query   | 0    |       | show processlist |
+-------+---------+-----------------+---------+---------+------+-------+------------------+

9. ¿Cómo crear una base de datos en un servidor MySQL?

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

# mysqladmin -u root -p create databasename

Enter password:
# mysql -u root -p

Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 18027
Server version: 5.5.28 MySQL Community Server (GPL) by Remi

Copyright (c) 2000, 2012, 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.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| databasename       |
| mysql              |
| test               |
+--------------------+
8 rows in set (0.01 sec)

mysql>

10. ¿Cómo colocar una base de datos en el servidor MySQL?

Para colocar una base de datos en el servidor MySQL, use el siguiente comando. Se le pedirá que confirme presione 'y'.

# mysqladmin -u root -p drop databasename

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 'databasename' database [y/N] y
Database "databasename" dropped

11. ¿Cómo recargar / actualizar los privilegios de MySQL?

El comando de recarga le dice al servidor que recargue las tablas de subvenciones. El comando de actualización 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 apagar 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.

# /etc/init.d/mysqld stop
# /etc/init.d/mysqld start

13. Algunos comandos útiles de MySQL Flush

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

  1. flush-hosts: Flush all host information from host cache.
  2. flush-tables: Flush all tables.
  3. flush-threads: Flush all threads cache.
  4. flush-logs: Flush all information logs.
  5. flush-privileges: Reload the grant tables (same as reload).
  6. flush-status: Clear status variables.
# 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 del cliente Sleeping MySQL?

Utilice el siguiente comando para identificar el proceso de 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 e 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 del proceso separados por comas como se muestra a continuación.

# mysqladmin -u root -p kill 5,10

15. ¿Cómo ejecutar varios comandos 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             |
+----+------+-----------+----+---------+------+-------+------------------+
| 8  | root | localhost |    | Query   | 0    |       | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+
Uptime: 3801  Threads: 1  Questions: 15  Slow queries: 0  Opens: 15  Flush tables: 1  Open tables: 8  Queries per second avg: 0.003
mysqladmin  Ver 8.42 Distrib 5.5.28, for Linux on i686
Copyright (c) 2000, 2012, 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          5.5.28
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /var/lib/mysql/mysql.sock
Uptime:                 1 hour 3 min 21 sec

Threads: 1  Questions: 15  Slow queries: 0  Opens: 15  Flush tables: 1  Open tables: 8  Queries per second avg: 0.003

16. Cómo conectar un servidor mysql remoto

Para conectar un servidor MySQL remoto, use -h (host) con la dirección IP de la máquina remota.

# mysqladmin  -h 172.16.25.126 -u root -p

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

Supongamos 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 salve, use 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 dice al servidor que escriba información de depuración sobre bloqueos en uso, memoria usada y uso de consultas en el archivo de registro de 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 el uso del comando myslqadmin, use 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 los comentarios y no olvide compartir con sus amigos.