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

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

[ Hits: 24.618 ]

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

fdisk - Visualizando tamanho do disco

Erro: ERROR 2006 (HY000): "MySQL server has gone away" [Resolvido]

Servidor Debian - Erro: Não existem chaves públicas para os seguintes IDs de chaves [Resolvido]

Configuração de rede Debian - Erro: "Não Gerenciável" [Resolvido]

Recuperando senha MySQL

Leitura recomendada

phpMyAdmin no Linux Mint e Ubuntu

ERROR 144 - Table XXX is marked as crashed and last (automatic?) repair failed [Resolvido]

Segurança básica no MySQL

Migrando .DBF para MySQL

Perdeu a senha de root do MySQL? Recupere agora

  

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