erro de mysqldump LOCK TABLES

9

Quando executo um mysqldump, recebo o seguinte erro:

mysqldump -u root -ppassword --databases information_schema > test.sql
mysqldump: Got error: 1044: Access denied for user 'root'@'localhost' to database 'information_schema' when using LOCK TABLES

Como posso consertar isso?

tom
fonte
Depende do seu mecanismo de armazenamento. Veja: stackoverflow.com/questions/104612/…
JasonWoof 28/08/19

Respostas:

7

Se você precisar despejar o banco de dados information_schema, inclua --skip-lock-tables nele.

O mysqldump não despeja o banco de dados INFORMATION_SCHEMA por padrão. No MySQL 5.1.38, o mysqldump despeja INFORMAÇÕES_SCHEMA se você o nomear explicitamente na linha de comando, embora atualmente você também deva usar a opção --skip-lock-tables. Antes da 5.1.38, o mysqldump ignorava silenciosamente o INFORMAÇÕES_SCHEMA, mesmo que você o nomeiasse explicitamente na linha de comando.

http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html


fonte
Em InnoDB usar o parâmetro --single-transação para o efeito esperado dev.mysql.com/doc/refman/5.1/en/...
Fedir RYKHTIK
3

Eu tive que adicionar - única transação

De acordo com o manual do MySQL, esta opção garante apenas um backup consistente se você estiver usando o InnoDB ou o BDB. Ao contrário do MyISAM e Heap, eles suportam transações.

tom
fonte
0

Tenho o mesmo problema ontem.

O banco de dados foi migrado de outro servidor e, quando excluímos alguns usuários, havia o VIEW que tinha DEFINER inexistente e que causou o problema.

Ele não mostra erro de propriedade quando foi descartado com a concessão do usuário SELECT, LOCK TABLES, mas no usuário raiz o erro correto foi mostrado.

Jakub Pinkas
fonte