Estou usando MySQL 5.5 + Opensuse 12.3 . Depois de enfrentar um problema com o mysqldump (parece ser um bug com a distribuição do OpenSuse Mysql), procurei outras soluções de backup.
Encontrei o xtrabackup da percona, que é uma solução muito boa. Eu testei com sucesso para fazer backup e restaurar arquivos .
Mas, não parece estar completo como eu esperava, eles não fazem backup dos usuários/concessões e do arquivo de configuração (my.cnf) ...
Com mysqlpdump eu uso este script de shell:
mygrants()
{
mysql -B -N $@ -e "SELECT DISTINCT CONCAT(
'SHOW GRANTS FOR ''', user, '''@''', host, ''';'
) AS query FROM mysql.user" | \
mysql $@ | \
sed 's/\(GRANT .*\)/\1;/;s/^\(Grants for .*\)/## \1 ##/;/##/{x;p;x;}'
}
e com o xtrabackup acredito que vou continuar usando esse "complemento" .
Olhando para a documentação do xtrabackup, não encontrei nada sobre esse assunto.
O que eu preciso saber:
- Existe alguma maneira de incluir isso (grant e my.cnf) no xtrabackup automaticamente?
- Caso contrário, executar meu script para obter as concessões e a cópia do my.cnf é suficiente como backup do meu banco de dados? ou eu perdi alguma coisa aqui?
Sua solução de backup para MySQL User Grants está boa.
Eu venho defendendo isso há anos:
Mar 24, 2013
: Usuário de exportação do MySQL com ponto e vírgula ";" no fimDec 24, 2012
: Backup e restauração do banco de dados "mysql"Jun 13, 2012
: Maneira mais rápida de mover um banco de dados de um servidor para outroApr 12, 2012
: Não é possível GRANT privilégios como rootApr 09, 2012
: Usuários Mysql excluídosJun 26, 2011
: Restaurando um backup antigo para a versão mais recente do MySQLAlém disso, observe que Percona criou pt-show-grants e xtrabackup . É curiosamente engraçado que
pt-show-grants
ainda não tenha sido integradoxtrabackup
(ei, posso estar errado. Afinal, um backup físico do esquema mysql deve ser muito adequado para um backup de concessões). Talvez, um dos seguintes seja o motivo:Voltando à sua pergunta original, cópias do User Grants em SQL e
my.cnf
são suficientes.