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

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

[ Hits: 25.426 ]

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

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

Redirecionamento de portas IPtables

Squid: "ERROR: no running copy" [Resolvido]

dos2unix - Convertendo arquivos Windows para GNU/Linux

Erro "Makefile:181" no VirtualBox do Fedora [Resolvido]

Leitura recomendada

Para melhorar a performance do MySQL

Erro ao iniciar o MySQL

Criando e associando usuários à bancos de dados específicos

Removendo aviso de alerta do osCommerce

Instalando o MySQL no Slackware 11 sem grilo

  

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