LOCK TABLESエラーをスローするautomysqlbackupを停止するにはどうすればよいですか?


21

automysqlbackupのcron.dailyスクリプトを停止する方法-インストールおよび構成元apt-get install automysqlbackup-次のエラーをスローする:

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

Ubuntu 12.04 LTSにアップグレードした結果、MySQL 5.5にアップグレードした後に、これが最初に発生しました(私にとって)。

回答:


32

このバグ(で修正済みautomysqlbackup 2.6+debian.2-1)は、automysqlbackupがデータベースperformance_schemainformation_schemaデータベースをダンプしないようにすることで回避できます。これは/etc/default/automysqlbackup、次のように編集することで実行できます。

削除するにはgrepのステップに追加のパイプを追加performance_schemaし、information_schemaデータベース名のリストから。

したがって、開始する行でDBNAMES=| grep -v ^mysql$挿入後

| grep -v ^performance_schema$ | grep -v ^information_schema$

前に| tr \\\r\\\n ,\、このような最後の行は次のようになりますことを

DBNAMES=`mysql --defaults-file=/etc/mysql/debian.cnf --execute="SHOW DATABASES" | awk '{print $1}' | grep -v ^Database$ | grep -v ^mysql$ | grep -v ^performance_schema$ | grep -v ^information_schema$ | tr \\\r\\\n ,\ `

JérômeDrouetに感謝します。

あるいは、apt-packageではなくsourceforgeの元のautomysqlbackupパッケージを使用する場合、/ etc / automysqlbackup / myserver.confのCONFIG_db_excludeを含む行を変更することにより、除外されたデータベースにperformance_schemaデータベースを追加できます。

# List of DBNAMES to EXLUCDE if DBNAMES is empty, i.e. ().
CONFIG_db_exclude=( 'information_schema' 'performance_schema' )

あなたの答えは機能します。先に進み、正しい答えとして答えを選択してください。
ステファンLasiewski

これはOS X(Homebrew経由)でも同様に修正されます。
マイケルトンプソン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.