Mysql

Comandos Úteis

Definindo o less como pager

mysql> pager less -SFXni

Ou então chamar o cliente mysql já passando o less como parâmetro

1
2
#!/bin/bash
mysql --pager='less -SFXni'

Para tornar essa opção padrão no console da própria máquina, adicionar no arquivo ~/.my.cnf

[client]
pager = less -niSFX

Acompanhamento processos do mysql

1
2
#!/bin/bash
watch -n1 "mysql -p[password] [database] -e 'show full processlist'"

Corrigindo Replicação

Se houver um erro de query na replicação do mysql, é necessário parar a replicação e fazer o servidor que teve problema ignorar a ultima query.

STOP SLAVE;SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1; START SLAVE;

Depois disso, é necessário checar se a replicação voltou a funcionar com o comando:

show slave status\G

Safe Updates

o modo "safe updates" do mysql ativa uma proteção contra UPDATES ou DELETES sem um WHERE, e limita o número de resultados retornados por um select em 1000 (ou 1 milhão para queries com várias tabelas).

para ativar o "safe update" é necessário chamar o mysql passando o parametro --safe-updates, -U, ou "--i-am-a-dummy"

mysql --safe-updates

Dumps comprimidos

É comum compactar os dumps realizados com o mysql para diminuir o tamanho do arquivo processado, um bando de alguns Gigas pode facilmente cair para alguns megas dependendo dos dados, e não é necessário descompactar os dados antes de importá-los novamente no Mysql

Para fazer o dump já compactado:

mysqldump -u [uname] -p[pass] [dbname] | gzip -9 > [backupfile.sql.gz]

E para restaurar o dump

gunzip < [backupfile.sql.gz] | mysql -u [uname] -p[pass] [dbname]