web-dev-qa-db-ja.com

mysqldumpでmysqlテーブルをバックアップできません。 SELECT、LOCK TABLコマンドが 'cond_instances'に対して拒否されました

Mysql rootユーザーとしてmysqldumpを実行できません。 mysqlテーブルをバックアップしようとすると、次のエラーが発生します。

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

誰か見たことある?私のmysqlと私のmysqldumpへの参照が異なるバージョンであることを確認しましたが、実行すると、同じディレクトリにあります。

MySQL 5.5.8を実行しています。

15
bryan kennedy

Mysqldumpコマンドに--skip-add-locksを追加します

3
Martin

--skip-add-locksが機能しません:

# 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

代わりに--skip-lock-tablesが必要です

20
sabujp

(私はこれが8ヶ月遅れて来るのを知っています)

これはロックの問題ではなく、提供されているソリューションは実際の問題を回避するだけです。

5.5mysqldumpアプリケーションは、最初にperformance_schemaデータベースをエクスポートしないでください。

以前の経験に基づいて、あなたが使用したmysqldumpプログラムは5.1バージョンであることをお勧めします。見分け方は?問題:

mysqldump --version

A 5.1クライアントはperformance_schemaの「未来的な」存在を認識していないため、それをダンプしようとします。すべきではないことを認識していません。

5.5バージョンを試してみて、推奨されるロックを追加せずにそれをダンプに使用してください。これはうまく機能するはずです。

12
Shlomi Noach

Shlomi Noachによって言及されたように、performance_schemaはバックアップされるべきではありません。

これを修正する簡単な方法は、設定ファイルで以下を設定することです:

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