Mysql

MySQLの全量バックアップ取得方法:mysqldumpを活用した詳細ガイド

MySQLデータベースのバックアップ方法は主に三つのアプローチがあります。
1つ目はMySQL Enterprise Backup、Enterprise Edition限定のみですが、オンラインバックアップはもちろん、増分および圧縮バックアップも可能。
2つ目はmysqldump、このコマンドはデータベース単位で取得します。オンラインバックアップやデータベースの特定のテーブルのみをダンプすることができます。
3つ目はテーブルファイルをコピーするバックアップです、こちらは物理ファイルをコピーするだけとシンプルですが。更新されていない状態で取得が望ましいバックアップ方法です。

mysqldumpを使用したデータベースバックアップを業務で使用しましたので、今回紹介したいと思います。

mysqldumpを使用したバックアップ手順

コマンドの実行: rootユーザーで以下のコマンドを実行します。
ファイルに保存する必用があるため、リダイレクトが必須です。これにより、全てのデータベースが含まれるSQLファイルが生成されます。

# mysqldump -u root -p --all-databases > mysqldump_all_`date "+%Y-%m%d-%H%M"`.sql
# ls -l
-rw-r--r-- 1 root root 1286719 Jan 27 22:15 mysqldump_all_2024-0127-2215.sql

また、–all-databasesはすべてのデータベースですが、特定のデータベースを指定したい場合は、

# mysqldump -u root -p --all-databases db1  > mysqldump_all_`date "+%Y-%m%d-%H%M"`.sql

と指定して上げればよいですし、テーブルも指定したい場合は、

# mysqldump -u root -p --all-databases db1 table1  > mysqldump_all_`date "+%Y-%m%d-%H%M"`.sql

のように指定するとよいでしょう。