[MySQL] データベースのバックアップと復元方法(dump)

MySQLで任意のデータベースのバックアップ及び復元、すべてのデータベースのバックアップ及び復元する方法についてです。データのバックアップはmysqldumpというコマンドを使います。

特定のデータベースのバックアップと復元

バックアップ

MySQL でデータベースのバックアップを取るには、ターミナルから以下のコマンドを入力します。

# mysqldump -u ユーザ名 -p DB名 > /出力先ディレクトリ/ファイル名

sampleというデータベースを backup.sql というファイルに保存する場合は以下のようになります。

# mysqldump -u root -p sample > /var/backup_sql/backup.sql

※文字化けが発生する場合は文字コードをつけることによって文字化けを回避できます。

# mysqldump –default-character-set=utf8 -u ユーザ名 -p DB名 > /出力先ディレクトリ/ファイル名

データの復元

バックアップを取ったデータベースを元に戻す場合は、ターミナルから以下のコマンドを入力します。

# mysql -u ユーザ名 -p DB名 < /ダンプファイルディレクトリ/ダンプファイル名

sampleというデータベースに「/var/backup_sql/backup.sql」に保存してあるファイル「backup.sql」をインポートする場合は以下のようなコマンドをターミナルに入力します。

# mysql -u root -p sample < /var/backup_sql/backup.sql

すべてのデータベースのバックアップ

ここまでは特定のデータベースのバックアップ・復元の方法について記載しましたが、MySQLに登録されているデータベース全てのバックアップを取る方法もあります。データ量が小さいうちはphpMyAdminの管理画面からエクスポートできますが、データ量が大きくなるとphpMyAdminのエクスポートでは対応が厳しくなります。そんなときは、ターミナルからバックアップデータを生成しましょう。

バックアップとるには

# mysqldump -u root -x –all-databases > /出力先ディレクトリ/ファイル名

復元方法は

# mysql -u root -p < /ダンプファイルディレクトリ/ダンプファイル名


Author: webmaster