MySQL – 17 exemplos práticos de aplicação do comando mysqladmin

O mysqladmin é uma ferramenta que vem junto com a instalação do servidor MySQL e é usada por administradores de bancos de dados para realizar algumas operações básicas, tais como, configurar a conta do administrador (root), mudar sua senha, monitorar processos, lidar com privilégios, verificar as condições do servidor, criar rapidamente novos bancos de dados etc — tudo na linha de comando.
Aqui vamos ver alguns dos comandos mysqladmin e situações em que são úteis, através de exemplos.

LEIA MAIS
Como atribuir uma senha ao administrador MySQL – (MySQL root)
mysqladmin -u root password minhanovasenha
Como alterar a senha, já atribuída, do administrador

Um administrador responsável sabe que senhas precisam ser alteradas periodicamente. O mysqladmin, permite fazer isto rapidamente, diretamente no terminal. No exemplo que segue, tenha em mente que senhaantiga e senhanova são o que seus nomes dizem e você deve usar os seus próprios valores. Use as aspas, onde tiver que usar:

mysqladmin -u root -psenhaantiga password 'senhanova'
Como verificar se o servidor está em execução

A ideia é determinar se o servidor está “vivo”. A frase «mysqld is alive» responde a esta questão. Use o seguinte comando:

mysqladmin -u root -p ping

Mysqld is alive - terminal

Como determinar o status do seu servidor MySQL

Vocẽ já sabe que ele “está vivo”. Agora, deseja obter mais informações sobre como ele está funcionando, entre as quais, o tempo em que ele está ‘no ar’, a quantidade de tabelas abertas por usuários, o tempo de resposta médio das queries etc.

mysqladmin -u root -pminhasenha status

mysqld status

Informação Descrição
Uptime Tempo (em segundos) em que o servidor está funcionando,
desde a última vez em que foi carregado.
Threads O número total de clientes conectados ao servidor.
Questions O número total de requisições a que o servidor atendeu
desde que foi carregado.
Slow queries Total de queries cujo tempo de execução ultrapassou o valor
definido pela variável long_query_time (veja o arquivo de
configuração).
Opens Número total de tabelas abertas pelo servidor.
Flush tables A quantidade de vezes em que tabela foi atualizada.
Open tables O número total de tabelas abertas no momento.
Como verificar o status de todas as variáveis e valores do servidor MySQL

O comando,

mysqladmin -u root -p extended-status

dará um resultado parecido com este:
mysqladmin mysql extended status

Como ver todas as variáveis e valores do servidor MySQL
mysqladmin -u root -p variables
Como saber a versão instalada do MySQL

O comando, a seguir, mostra aversão do seu servidor MySQL, entre outros detalhes:

mysqladmin -u root -p version

O resultado vai ser parecido com este:
Como ver a versão do mysql
Fique atento para a linha Server version. No caso, aqui, trata-se da versão 5.5.32-0ubuntu0.13.04.1.

Como ver todos os processos em execução no servidor MySQL

Este comando mostrará uma (possivelmente) longa relação de processos em execução no seu sistema.

mysqladmin -u root -p processlist
Como criar um banco de dados no servidor MySQL

Esta tarefa é relativamente simples e, com o mysqladmin, pode ser realizada com uma única linha de comando. Ou seja, você não precisa “entrar” no MySQL para criar um banco de dados.
No exemplo abaixo, vamos criar um banco de dados chamado o_condado_db (eu sei, estou exagerando na leitura de Tolkien); depois de criado o banco, vamos entrar no MySQL e vamos pedir para mostrar os bancos de dados existentes. Acompanhe:

mysqladmin -u root -p create o_condado_db
mysql -u root -p
show databases

O resultado do comando show databases, executado dentro do cliente MySQL, deve ser parecido com o que segue:
mysql show databases
Para sair do MySQL, rode os comandos exit ou quit.

Como excluir um banco de dados

Vamos aprender a usar o drop para remover um banco de dados já criado:

mysqladmin -u root -p drop o_condado_db

O sistema pedirá para que a ação seja confirmada, antes de executar a remoção.

Como recarregar e atualizar os privilégios MySQL

Aqui temos basicamente 2 comandos: reload e refresh. O primeiro pede ao servidor que recarregue as tabelas dos privilégios; o segundo atualiza todas as tabelas e reabre os arquivos de log. Veja como fazer:

mysqladmin -u root -psuasenha reload
mysqladmin -u root -psuasenha refresh
Como iniciar e desligar o servidor MySQL de maneira segura

Normalmente, o servidor MySQL já “sobe” junto com o sistema. Ou seja, não precisa ser iniciado. Mas, no caso de você precisar, use o seguinte comando para dar início à sua execução:

/etc/init.d/mysql start

Para desligar:

/etc/init.d/mysql stop

Tenha em mente que há variações na maneira de executar este comando entre as distros. Em algumas, o comando mysql vai estar em /etc/rc.d/init.d/
Enfim, você pode desligar o servidor MySQL da seguinte forma também:

mysqladmin -u root -p shutdown
Como terminar um processo que esteja dormindo/hibernando (sleeping) no cliente MySQL Client

Você vai precisar saber o ID do processo a ser terminado, para fazer isto. Portanto, vai precisar executar um comando que liste os processos em execução no seu servidor. De posse do ID, basta informá-lo ao comando de interrupção de processos. Veja como:

mysqladmin -u root -p processlist

O MySQL vai te devolver uma lista. Localize a ID do processo que você deseja terminar, na primeira coluna. Para interrompê-lo, use o seguinte comando (substituindo a variável num_processo pelo número do processo que você deseja terminar):

mysqladmin -u root kill num_processo

Feito isto, peça novamente a lista de processos para ver se tudo deu certo.
É possível apagar vários processo com um só comando. Informe todas as IDs de processos que você deseja terminar, separadas por vírgulas:

mysqladmin -u root kill num_processo1, num_processo2, num_processo3

Fácil, né?

Como organizar, fazer a faxina, com o mysqladmin e flush

A instrução flush tem uma série de variantes que limpam, recarregam, atualizam os caches internos e as tabelas. Veja quais são e o que fazem:

Comando Descrição
flush-hosts Limpa todas as informações relativas ao host do host cache.
flush-tables Atualiza todas as tabelas.
flush-threads Atualiza o cache das threads.
flush-logs Atualiza todas as informações nos logs.
flush-privileges Recarrega as tabelas de privilégios.
flush-status Limpa as variáveis de status do sistema.

Como usar:

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
Como executar múltiplos comandos em uma só linha mysqladmin

Sim. Você pode executar várias tarefas com apenas uma linha de comando mysqladmin. Veja como criar 3 bancos de dados (databases) em uma tacada só:

mysqladmin -u root -p create primeiro create segundo create terceiro

Dê a sua senha e entre no cliente MySQL, para ver o trabalho feito:

mysql -u root -p

Dentro do MySQL, liste as tabelas:

show databases

mysql show databases comando
Agora, vamos excluir os bancos de dados com o mysqladmin. Portanto digite exit;, para sair do MySQL.
Da linha de comando, do shell, exclua os bancos com drop:

mysqladmin -u root -p drop primeiro drop segundo drop terceiro
Como se conectar a um servidor remoto

Vamos usar o seu próprio servidor MySQL, aqui, para exemplificar. Muita gente se conecta a um servidor remoto MySQL via SSH.
Com o mysqladmin, você pode se conectar remotamente e executar um comando (ou vários) e voltar pro seu terminal:

mysqladmin -h 127.0.0.1 -u root -p version

mysqladmin conexão remota

Como obter ajuda para o mysqladmin

Enfim, vamos ver como obter ajuda para usar o mysqladmin. Use o manual do sistema:

man mysqladmin

ou a ajuda do próprio comando:

mysqladmin -?

Divirta-se!

LEIA MAIS:

Publicado por

Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia. Fã de séries, como "Rick and Morty" e "BoJack Horseman". Me siga no Twitter e vamos trocar ideias!

Um comentário sobre “MySQL – 17 exemplos práticos de aplicação do comando mysqladmin”

  1. Sensacional este tutorial, dicas excelentes para quem esta iniciando em Mysql e de forma bem objetiva.

    Obrigado por compartilhar estas informações….

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *