最高気温予想36度、今日も伊勢崎は暑いです。
ここ数日は、暑さ+WordPressと戦っております。
以前、データをダンプ、リストアするには(01)を書きました。
その時は、ホスティングサービス上にデータをリストアしなければならなかったのですが、どうしてもダンプファイルをそのまま読み込むことができず、苦肉の策としてダンプファイルからINSERT文だけ取り出して何とかリストアしました。
かなりの力技だと思います…。
作業はなるべくスマートに行ないたいものです。
それでは本題です。
ダンプデータをリストアしようとすると以下のエラーが発生。
1 2 3 |
$mysql --default-character-set=utf8 -u (ユーザ名) -p (データベース名) < out.dump Enter password: ERROR 1045 (28000): Access denied for user '(ユーザ名)'@'localhost' (using password: YES) |
エラーの原因としては、ホスティングサービスで「LOCK」「UNLOCK」ができないことでした。
以前の記事で書いたように、以下を実行してダンプファイルを作成した場合、作成されたファイル中に「LOCK」「UNLOCK」が含まれます。
1 |
$ mysqldump –single-transaction -u (ユーザ名) -p (データベース名) > out.dump |
この場合は、作成したダンプファイルの「LOCK」「UNLOCK」をコメントアウトしてからリストアするとエラーになりません。
また、オプション「–skip-add-locks」を追加すると、「LOCK」「UNLOCK」を含まずダンプファイルを作成することができます。
1 |
$ mysqldump --single-transaction --skip-add-locks -u (ユーザ名) -p (データベース名) > out.dump |
こちらの方法であれば、作成したダンプファイルの修正も必要なく、修正によるミスも減らせますね。