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を実行しています。
Mysqldumpコマンドに--skip-add-locksを追加します
--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が必要です
(私はこれが8ヶ月遅れて来るのを知っています)
これはロックの問題ではなく、提供されているソリューションは実際の問題を回避するだけです。
5.5mysqldumpアプリケーションは、最初にperformance_schema
データベースをエクスポートしないでください。
以前の経験に基づいて、あなたが使用したmysqldump
プログラムは5.1バージョンであることをお勧めします。見分け方は?問題:
mysqldump --version
A 5.1クライアントはperformance_schema
の「未来的な」存在を認識していないため、それをダンプしようとします。すべきではないことを認識していません。
5.5バージョンを試してみて、推奨されるロックを追加せずにそれをダンプに使用してください。これはうまく機能するはずです。
Shlomi Noachによって言及されたように、performance_schemaはバックアップされるべきではありません。
これを修正する簡単な方法は、設定ファイルで以下を設定することです:
CONFIG_db_exclude=( 'performance_schema' 'information_schema' )