Ich habe Probleme beim Ausführen mysqldump
als MySQL-Root. Wenn ich versuche, die mysql
Tabelle zu sichern, erhalte ich folgende Fehlermeldung:
mysqldump: Got error: 1142: SELECT,LOCK TABL command denied to user
'root'@'localhost' for table 'cond_instances' when using LOCK TABLES
Hat das schon mal jemand gesehen? Ich habe gesehen, dass einige Verweise auf mein mysql und mein mysqldump unterschiedliche Versionen sind, aber wenn ich sie ausführe, befinden sie sich im selben Verzeichnis.
Ich führe MySQL 5.5.8 aus.
mysql
database-backup
Bryan Kennedy
quelle
quelle
mysqldump
mit--skip-add-locks
?--single-transaction
und alles funktioniert korrekt.Antworten:
Fügen Sie Ihrem mysqldump-Befehl --skip-add-locks hinzu
quelle
--skip-add-locks funktioniert nicht:
Sie möchten stattdessen --skip-lock-tables
quelle
(Mir ist klar, dass dies 8 Monate zu spät kommt)
Dies ist kein Problem von Sperren, und die angebotenen Lösungen umgehen lediglich das eigentliche Problem:
Eine 5.5 mysqldump- Anwendung sollte die
performance_schema
Datenbank nicht in erster Linie exportieren .Aufgrund meiner bisherigen Erfahrungen schlage ich vor, dass es sich bei dem von
mysqldump
Ihnen verwendeten Programm um eine 5.1- Version handelt. Wie zu sagen Problem:Ein 5.1- Client ist sich der "futuristischen" Existenz nicht bewusst
performance_schema
und versucht daher, sie zu löschen. Es ist nicht bewusst, dass es nicht sollte.Versuchen Sie, die 5.5- Version zu finden und zum Speichern zu verwenden, ohne die vorgeschlagenen Sperren hinzuzufügen. Dies sollte gut funktionieren.
quelle
Wie von Shlomi Noach erwähnt, soll performance_schema nicht gesichert werden.
Die einfache Möglichkeit, dies zu beheben, besteht darin, in Ihrer Konfigurationsdatei Folgendes festzulegen:
quelle