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.