MySQL: "when using LOCK TABLES" ⇒"--single-transaction"
mysqlでmysqldump したとき
[foo@sv ]% mysqldump -u hoge -p fuga_db > fuga_db.sql Enter password: mysqldump: Got error: 1044: Access denied for user 'hoge'@'localhost' to database 'fuga_db' when using LOCK TABLES
『LOCKできねーよ?』というエラーメッセージ。
ここでいうユーザ'hoge'が、対象データベース'fuga_db'で、LOCKの権限を持っていない事に起因する。
トランザクション処理の関係で中途半端なデータができちゃうからイヤ、という理由かと思われる。
LOCK権限をもったユーザでdumpするのがいいと思われるが、他にアカウントを知らんのじゃという場合もあるので、その時は
"--single-transaction" というオプションを。
[foo@sv ]% mysqldump -u hoge -p --single-transaction fuga_db > fuga_db.sql Enter password: