[MySQL]バックアップ取得方法まとめ

MySQL を使ってシステム開発している際に、バックアップをとったり、データをインポートすることがよくありますが、バックアップやインポートの時のコマンドをよく忘れてしまうので、バックップとリカバリのコマンドをまとめました。

バックアップ

MySQL の全てのデータをファイルに出力する

mysqldump -u root -p -x --all-databases > dump.sql

データベースに入っている全てのデータのバックアップを取ることができます。

特定のデータベースのデータをファイルに出力する

mysqldump -u root -p database_name > dump.sql

これで特定のデータベース( database_name )のデータだけバックアップを取得できます。

特定のデータベースの特定のテーブルのデータをファイルに出力する

mysqldump -u root -p database_name table_name1 table_name2 > dump.sql

これで特定のデータベース( database_name )の「 table_name1 」と「 table_name2 」のテーブルのデータだけバックアップを取得できます。

文字化けする場合

文字化けする場合は「 --default-character-set 」というオプションを追加して実行します。

mysqldump --default-character-set=utf8 -u root -p database_name > dump.sql

リカバリ

バックアップで取得したファイルをインポートします。

特定のデータベースにデータをインポートする

mysql -u root -p database_name < dump.sql

データベース名を指定することで、特定のデータベース( database_name )にデータをインポートできます。

特定のテーブルにのみインポートを行いたい場合は、バックアップファイルを編集し、特定のテーブルのインポート部分のみを抜き出すか、あらかじめ特定のテーブルのみのバックアップファイルを作成した上で、上記のコマンドを実行する必要があります。

コマンドにて、インポートするテーブルを指定することはできません。

最後に

データベースを利用したシステムを開発していると、データのバックアップやリカバリは必須なので、ぜひ覚えておきたいですね。

データベースによってもバックアップやリカバリの手段が異なるので、そういった違いもきちんと理解しておきたいです。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です