Sabia que é possível executar querys SQL do SGBD MySQL/Maria por meio de script Shell, de forma equivalente como faria com a linguagem PHP? Pois então, ao invés de colocar a query diretamente no terminal do MySQL, pode automatizar rotinas relacionados ao SGBD MySQL via script Shell.
Exemplo de script Shell com querys SQLscript Shell que lista os usuários e gera o resultado da query no arquivo users.txt
O exemplo a seguir deve substituir o nome da base de dados, usuário e a query correspondente a tabela de usuários que tiver criado no seu servidor MySQL
lista-users.sh
#!/bin/bash
mysql -u < user > -p < database > -B -B -e "SELECT * FROM users" > users.txt
script Shell que exibe o tempo que o servidor MySQL está no ar ou uptime
uptime-mysql.sh
!#/bin/bash
mysql -u < user > -p -B -N -e "SHOW STATUS LIKE 'Uptime'"
Execução do script uptime-mysql.sh
reginaldo@Saitam:~$ chmod +x uptime-mysql.sh reginaldo@Saitam:~$ ./uptime-mysql.sh Enter password: Uptime 19106Interpretação dos argumentos utilizados no script
#! /bin/bash — esta primeira linha é especial. Ela invoca o Bash, que irá interpretar e executar as instruções contidas neste script.
# lista-users.sh | uptime-mysql.sh — nome do script Shell
mysql -u < user > -p — inicia a conexão com o usuário criado no MySQL
-B — gera uma saída batch. Exibe os resultados, usando a caractere tab como separador de colunas.
-N — suprime o cabeçalho da coluna. Assim temos uma saída mais limpa.
Referências
[1] https://elias.praciano.com/2015/03/como-executar-queries-mysql-de-uma-shell-script/
Feito!
Boa dica, você também pode usar o unix_socket caso queira que o script rode sem senha e sem a necessidade de memorizá-a em algum arquivo ou variável.
ResponderExcluirValeu. No caso autenticação unix_socket se aplicam a versão a partir do MySQL 5.7 / MariaDB 10.2 que usam esse tipo de autenticação.
Excluir