竹形様
いつもお世話になっています。
Java+MySQL+Tomcatで始めるWebアプリケーション構築入門P160でテーブルのバックアップ方法について書かれてありますが、MS-DOSプロンプトから手でコマンドを打ち込む方法しかないのでしょうか?
バッチファイルを用意しておいて、複数のテーブルを一括してバックアップする方法があればとても便利なのですが、もしそのような方法がありましたらご教授おねがいいたします。
いつもお世話になっています。
Java+MySQL+Tomcatで始めるWebアプリケーション構築入門P160でテーブルのバックアップ方法について書かれてありますが、MS-DOSプロンプトから手でコマンドを打ち込む方法しかないのでしょうか?
バッチファイルを用意しておいて、複数のテーブルを一括してバックアップする方法があればとても便利なのですが、もしそのような方法がありましたらご教授おねがいいたします。
投稿:スワジランド[swajiland]/2009年 04月 11日 16時 19分
/更新:2009年 04月 11日 16時 20分
RE:MySQLの複数のテーブルのバックアップを一発で済ませる方法について
by 竹形 誠司[takegata]
竹形です。どうも。
mysqldump をバッチファイルで実行すればよいのですが、その際にパスワードをどのように指定するかですね。-pオプションではなく、--passwordオプションを使えば、パスワードをコマンドラインで指定できます。
たとえば、rootのパスワードがtestpassで、バックアップを取るデータベース領域の名前がtestdataだった場合、
mysqldump をバッチファイルで実行すればよいのですが、その際にパスワードをどのように指定するかですね。-pオプションではなく、--passwordオプションを使えば、パスワードをコマンドラインで指定できます。
たとえば、rootのパスワードがtestpassで、バックアップを取るデータベース領域の名前がtestdataだった場合、
>mysqldump -u root --password=testpass testdata > testdata.sql
でtestdataに含まれるすべてのテーブルのバックアップを取ることができます。これをバッチファイルに書いておけばOKですね。
投稿:竹形 誠司[takegata]/2009年 04月 11日 16時 32分
/更新:2009年 04月 11日 16時 34分
竹形様
どうもありがとうございました。
ご提示いただいたデータベースごと一括してバックアップしてしまう手法は便利ですね。パスワードをいちいち入力する手間が省けますし。最高です!
ところで、復元させる時は、mysqlクライアントで
どうもありがとうございました。
ご提示いただいたデータベースごと一括してバックアップしてしまう手法は便利ですね。パスワードをいちいち入力する手間が省けますし。最高です!
ところで、復元させる時は、mysqlクライアントで
¥. c:¥testdata.sql
とすれば大丈夫でしょうか?一発で全てのテーブルが再作成されますでしょうか。その前に全てのテーブルをドロップしておく必要がありますでしょうか。ご教授おねがいします。
投稿:スワジランド[swajiland]/2009年 04月 11日 17時 18分
/更新:2009年 04月 11日 17時 22分
testdata.sql の中を見ると DROP TABLE IF EXISTS 文が実行されているので、個々にテーブルを drop する必要はありません。
投稿:竹形 誠司[takegata]/2009年 04月 11日 17時 38分
/更新:2009年 04月 11日 17時 38分
竹形様
ご指導どうもありがとうございました。
ご指導どうもありがとうございました。
投稿:スワジランド[swajiland]/2009年 04月 11日 17時 43分
/更新:2009年 04月 11日 17時 43分