Impossibile eseguire il backup della tabella mysql con mysqldump. Comando SELECT, LOCK TABL negato per "cond_instances" [chiuso]


15

Ho problemi a correre mysqldumpcome utente root di mysql. Quando provo a eseguire il backup della mysqltabella ottengo questo errore:

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

Qualcuno l'ha già visto? Ho visto alcuni riferimenti al mio mysql e al mio mysqldump che sono versioni diverse ma quando eseguo che si trovano nella stessa directory.

Sto eseguendo MySQL 5.5.8.


1
Ricevi ancora l'errore se corri mysqldumpcon --skip-add-locks?
Martin,

1
Ah, questo l'ha riparato. Ho capito proprio ora che non era la tabella mysql, era la tabella performance_schema, che vedo in alcuni documenti richiede --skip-add-locks.
Bryan Kennedy

Ho avuto lo stesso problema ... Sto usando automysqlbackup Ho appena aggiunto il parametro --single-transactione tutto funziona correttamente.
Isccarrasco,

Forse il problema potrebbe essere un errore di battitura? "LOCK TABL" potrebbe essere "LOCK TABLE"
rubo77

Risposte:



20

--skip-add-locks non funziona:

# 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

vuoi invece --skip-lock-tables


1
Questo mi ha risolto. Ho modificato l'eseguibile automysqlbackup (sulla mia installazione, in / usr / local / bin) per modificare la dichiarazione di opt e opt_fullschema da aggiungere nelle tabelle --skip-lock-lock. La nuova configurazione era opt = ('- --quote-names' '--opt' '--skip-lock-tables') e opt_fullschema = ('' --all-d Database '' --routines '' --no- data '' --skip-lock-tables ')
Ted Pennings

12

(Mi rendo conto che arriva con 8 mesi di ritardo)

Questo non è un problema di blocchi e le soluzioni offerte semplicemente aggirano il vero problema:

Un'applicazione 5.5 mysqldump non dovrebbe esportare il performance_schemadatabase in primo luogo.

Sulla base della mia esperienza precedente, suggerisco che il mysqldumpprogramma che hai usato sia una versione 5.1 . Come dire? Problema:

mysqldump --version

Un client 5.1 non è a conoscenza dell'esistenza "futuristica" di performance_schemae quindi tenta di scaricarlo. Non è consapevole che non dovrebbe.

Prova a trovare la versione 5.5 e usala per il dumping, senza aggiungere i blocchi suggeriti, e questo dovrebbe funzionare bene.


2
Utilizzando la versione 5.5 e il problema persiste
artfulrobot

1
mysqldump Ver 10.13 Distrib 5.5.32, per debian-linux-gnu (x86_64) ha lo stesso problema ...
Piku,

2
se stai utilizzando automysqlbackup come alcuni degli utenti precedenti, devi aggiungere "performance_schema" al parametro CONFIG_db_exclude nel tuo automysqlbackup.conf
Matija Nalis,

Sono d'accordo con Shlomi sopra che saltare i blocchi aggira solo il vero problema. Questo mi ha aiutato: askubuntu.com/questions/134670/…
workflow

0

Come menzionato da Shlomi Noach, non è necessario eseguire il backup di performance_schema.

Il modo più semplice per risolvere questo problema è impostare quanto segue nel file di configurazione:

CONFIG_db_exclude=( 'performance_schema' 'information_schema' )
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.