MySQL - Erro: mysqldump: Got error: 1044 [Resolvido]

Publicado por Jeferson R. Costa em 19/07/2013

[ Hits: 25.727 ]

Blog: http://www.jefersonrc.com.br/

 


MySQL - Erro: mysqldump: Got error: 1044 [Resolvido]



A dica de hoje será para explicar o por quê e como resolver o erro:
"mysqldump: Got error: 1044: Access denied for user 'usuario'@'localhost' to database 'database' when using LOCK TABLES"

Apresentado quando tenta-se utilizar o comando:

# mysqldump...

Por default, quando você utiliza o mysqldump, o MySQL trava as tabelas para que nenhum dado seja inserido ou alterado durante o processo.

Isso garante maior consistência no resultado final da tarefa e o erro acontece quando você tenta executar o comando com um usuário que não tem o direito de travar essas tabelas, então, para resolvermos isso, basta adicionar o parâmetro "--single-transaction" ao comando, ficando da seguinte maneira:

# mysqldump database --single-transaction -u usuario -p'senha' > backup.sql

O único problema, é que enquanto o mysqldump faz o seu trabalho, as tabelas vão continuar liberadas, ou seja, qualquer gravação de dados será permitida, podendo causar inconsistência ao seu backup por exemplo.

Para resolvermos de uma maneira melhor e definitiva, devemos aplicar as permissões corretas ao usuário.

Como exemplo, vou aplicar permissão para consulta (select) e permissão para travar as tabelas (lock tables) ao usuário:

# mysql -u root -p'senha_do_root_mysql'

mysql> GRANT SELECT,LOCK TABLES ON DATABASE.* TO 'usuario'@'localhost'

Obs.: em "Database", coloque o nome da sua base de dados.

Pronto, agora o usuário terá acesso a consulta e o direito de travar as tabelas enquanto é feito o backup, sendo assim, você poderá usar o comando padrão, como abaixo:

# mysqldump -u usuario -p'senha' > backup.sql

Testado no Debian 6 e MySQL 5.1.


Veja essa e outras dicas em meu blog, onde posto dicas e soluções em infraestrutura de TI.

Gostou? Compartilhe e deixe seu comentário.

Achou algum erro? Precisa de ajuda? Críticas? Deixe seu comentário.
Obrigado!

Jeferson R. Costa

Outras dicas deste autor

Squid - Calculando cache_dir e cache_mem

Erro: Id "co" respawning too fast: disabled for 5 minutes [Resolvido]

Descobrindo seu IP externo via linha de comando no GNU/Linux

ZIP no GNU/Linux

Serviço online de scanner de portas

Leitura recomendada

Buscando intervalo de datas apenas pelo dia e mês no MySQL

Mysqldump no cron do Slackware

MySQL - Comandos básicos

Instalação do MySQL via atualização de repositório

Resolver problema "Got error 127 from table handler" no MySQL

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts