Pesquisa de site

20 comandos mysqladmin para administração MYSQL/MariaDB


mysqladmin é um utilitário de administração de banco de dados de linha de comando que vem com o servidor MySQL/MariaDB, que é usado por Administradores de banco de dados para realizar algumas administrações de banco de dados básicas. Tarefas >MySQL como definir a senha root, alterar a senha root, monitorar processos mysql, recarregar privilégios, criar/descartar bancos de dados, verificar o status do servidor, mostrar estatísticas de uso, eliminar consultas em execução, etc.

O comando para usar mysqladmin e a sintaxe geral é:

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

Se você não possui o servidor MySQL/MariaDB instalado ou está usando uma versão mais antiga do servidor MySQL, então recomendamos que você instale ou atualize a versão do MySQL usando o seguintes artigos:

  • Como instalar o MySQL em distribuições baseadas em RHEL
  • Como instalar o MariaDB em sistemas RHEL e Debian

Neste artigo, compilamos alguns comandos ‘mysqladmin’ muito úteis que são usados por administradores de sistema/banco de dados em seu trabalho diário. Você deve ter o servidor MySQL/MariaDB instalado em seu sistema para executar essas tarefas.

1. Como definir a senha root do MySQL

Se você tiver uma nova instalação do servidor MySQL/MariaDB, não será necessária nenhuma senha para conectá-lo como usuário root. Para definir a senha do MySQL para o usuário root, use o seguinte comando.

mysqladmin -u root password YOURNEWPASSWORD

Aviso: Definir uma nova senha MYSQL usando mysqladmin deve ser considerado vulnerável. Em alguns sistemas, sua senha fica visível para programas de status do sistema, como o comando ps, que pode ser executado por outros usuários para saber o status dos processos ativos em um sistema.

2. Como alterar a senha root do MySQL

Se desejar alterar ou atualizar a senha root do MySQL, você precisará digitar o seguinte comando. Por exemplo, digamos que sua senha antiga seja 123456 e você queira alterá-la com uma nova senha, digamos xyz123.

mysqladmin -u root -p123456 password 'xyz123'

3. Como verificar o status do servidor MySQL

Para descobrir se o servidor MySQL está instalado e funcionando, use o seguinte comando.

mysqladmin -u root -p ping

Enter password:
mysqld is alive

4. Como verificar qual versão do MySQL estou executando

O comando a seguir mostra a versão do MySQL junto com o status de execução atual.

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. Como descobrir o status atual do servidor MySQL

Para descobrir o status atual do servidor MySQL, use o seguinte comando. O comando mysqladmin mostra o status do uptime com threads e consultas em execução.

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. Como verificar as variáveis de status do MySQL e seus valores

Para verificar todo o status de execução das variáveis e valores do servidor MySQL, digite o seguinte comando. A saída seria semelhante à abaixo.

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. Como ver todas as variáveis e valores do servidor MySQL?

Para ver todas as variáveis e valores em execução do servidor MySQL, use o comando a seguir.

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. Como verificar threads ativos do servidor MySQL

O comando a seguir exibirá todos os processos em execução de consultas ao banco de dados 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. Como criar um banco de dados no servidor MySQL

Para criar um novo banco de dados no servidor MySQL, use o comando mostrado abaixo.

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. Como descartar um banco de dados no servidor MySQL

Para descartar um banco de dados no servidor MySQL, use o seguinte comando. Você será solicitado a confirmar, pressione ‘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. Como recarregar/atualizar privilégios do MySQL?

O comando reload informa ao servidor para recarregar as tabelas de concessão e o comando refresh libera todas as tabelas e reabre os arquivos de log.

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

12. Como desligar o servidor MySQL com segurança

Para desligar o servidor MySQL com segurança, digite o seguinte comando.

mysqladmin -u root -p shutdown

Enter password:

Você também pode usar os seguintes comandos para iniciar/parar o servidor MySQL.

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

13. Alguns comandos úteis do MySQL Flush

A seguir estão alguns comandos de liberação úteis com suas descrições.

  • flush-hosts: libera todas as informações do host do cache do host.
  • flush-tables: libera todas as tabelas.
  • flush-threads: limpa o cache de todos os threads.
  • flush-logs: libera todos os registros de informações.
  • flush-privileges: recarrega as tabelas de concessão (o mesmo que recarregar).
  • flush-status: limpa variáveis de status.

Vamos verificar esses 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. Como eliminar o processo do cliente MySQL adormecido?

Use o comando a seguir para identificar o processo do cliente MySQL em suspensão.

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

Agora, execute o seguinte comando com kill e process ID conforme mostrado abaixo.

mysqladmin -u root -p kill 5

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

Se você deseja eliminar vários processos, passe os IDs dos processos separados por vírgulas, conforme mostrado abaixo.

mysqladmin -u root -p kill 5,10

15. Como executar vários comandos mysqladmin juntos

Se você quiser executar vários comandos ‘mysqladmin’ juntos, então o comando seria assim.

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. Como conectar o servidor MySQL remoto

Para se conectar ao servidor MySQL remoto, use o -h (host)  com o Endereço IP do servidor remoto máquina.

mysqladmin -h 172.16.25.126 -u root -p

17. Como executar comandos no servidor MySQL remoto

Digamos que você gostaria de ver o status do servidor MySQL remoto, então o comando seria.

mysqladmin -h 172.16.25.126 -u root -p status

18. Como iniciar/parar a replicação do MySQL em um servidor escravo

Para iniciar/parar a replicação do MySQL no servidor escravo, use os seguintes comandos.

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

19. Como armazenar informações de depuração do servidor MySQL em logs

Ele diz ao servidor para gravar informações de depuração sobre bloqueios em uso, memória usada e uso de consultas no arquivo de log do MySQL, incluindo informações sobre o agendador de eventos.

mysqladmin  -u root -p debug

Enter password:

20. Como visualizar opções e uso do mysqladmin

Para descobrir mais opções e uso do comando myslqadmin use o comando de ajuda conforme mostrado abaixo. Ele exibirá uma lista de opções disponíveis.

mysqladmin --help

Tentamos o nosso melhor para incluir quase todos os comandos 'mysqladmin' com seus exemplos neste artigo. Se ainda assim, perdemos alguma coisa, informe-nos por meio de comentários e não esqueça de compartilhar com seus amigos.