Não é possível fazer backup da tabela mysql com o mysqldump. Comando SELECT, LOCK TABL negado por 'cond_instances' [fechado]

15

Estou tendo problemas para executar mysqldumpcomo usuário root do mysql. Quando tento fazer backup da mysqltabela, recebo este erro:

mysqldump: Got error: 1142: SELECT,LOCK TABL command denied to user
'root'@'localhost' for table 'cond_instances' when using LOCK TABLES

Alguém viu isso antes? Eu já vi algumas referências ao meu mysql e mysqldump sendo versões diferentes, mas quando eu executo elas estão no mesmo diretório.

Estou executando o MySQL 5.5.8.

bryan kennedy
fonte
1
Você ainda recebe o erro se executar mysqldumpcom --skip-add-locks?
Martin
1
Aha, isso consertou. Percebi agora que não era a tabela mysql, era a tabela performance_schema, que vejo em alguns documentos requer os --skip-add-locks.
Bryan kennedy
Eu tive o mesmo problema ... Estou usando o automysqlbackup Acabei de adicionar o parâmetro --single-transactione tudo funciona corretamente.
Isccarrasco
Talvez o problema possa ser um erro de digitação? "LOCK TABL" pode ser "LOCK TABLE"
rubo77

Respostas:

3

Adicione --skip-add-locks ao seu comando mysqldump

Martin
fonte
20

--skip-add-locks não funciona:

# mysqldump -u root -p`cat mysqlRoot.txt` --databases performance_schema --routines --quote-names --skip-add-locks > mysql_performance_schema

mysqldump: Got error: 1142: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'cond_instances' when using LOCK TABLES

você deseja --skip-lock-tables

sabujp
fonte
1
Isso consertou para mim. Editei o executável automysqlbackup (na minha instalação, em / usr / local / bin) para modificar a declaração de opt e opt_fullschema para adicionar nas tabelas --skip-lock-tables. A nova configuração foi opt = ('--quote-names' '--opt' '--skip-lock-tables') e opt_fullschema = ('--all-database' '--rotines' '--no- data '' --skip-lock-tables ')
Ted Pennings
12

(Eu sei que isso chega 8 meses atrasado)

Este não é um problema de bloqueios, e as soluções oferecidas simplesmente ignoram o problema real:

Um aplicativo mysqldump 5.5 não deve exportar o banco de dados em primeiro lugar.performance_schema

Com base na minha experiência anterior, sugiro que o mysqldumpprograma que você usou seja uma versão 5.1 . Como dizer? Questão:

mysqldump --version

Um cliente 5.1 não tem conhecimento da existência "futurista" performance_schemae, portanto, tenta despejá-la. Não sabe que não deveria.

Tente encontrar a versão 5.5 e use-a no dumping, sem adicionar os bloqueios sugeridos, e isso deve funcionar bem.

Shlomi Noach
fonte
2
Usando 5,5 versão e problema persistir
artfulrobot
1
mysqldump Ver 10,13 Distrib 5.5.32, para o debian-linux-gnu (x86_64) tem o mesmo problema ...
Piku
2
se você estiver usando automysqlbackup como alguns dos usuários acima, você precisa adicionar 'performance_schema' para parâmetro CONFIG_db_exclude em sua automysqlbackup.conf
Matija Nalis
Concordo com Shlomi acima de que pular as fechaduras apenas ignora o problema real. Isso me ajudou: askubuntu.com/questions/134670/…
workflow
0

Como mencionado por Shlomi Noach, performance_schema não deve ser copiado.

A maneira mais fácil de corrigir isso é definir o seguinte no seu arquivo de configuração:

CONFIG_db_exclude=( 'performance_schema' 'information_schema' )
dumolibr
fonte