FreeBSD 14
Sponsored Link

MySQL 8.0 : mysqldump によるバックアップ2024/09/03

 

MySQL のデータベースを バックアップ する際は付属の [mysqldump] で実行可能です。

[1] バックアップ元ホストで [mysqldump] を実行してダンプデータを取得します。
# 全テーブルをロックして全データベースのダンプを取得する
# ダンプ中は読み取りもロックされるためデータベースは実質的に利用不可になる

root@dlp:~ #
mysqldump --lock-all-tables --all-databases --triggers --routines --events --set-gtid-purged=OFF > mysql_dump.sql

# ロックせずに全データベースをトランザクションを利用してダンプを取得する
# [--single-transaction] でデータの整合性を保証する

root@dlp:~ #
mysqldump --single-transaction --all-databases --triggers --routines --events --set-gtid-purged=OFF > mysql_dump.sql

# 特定のデータベースを指定してダンプを取得する

root@dlp:~ #
mysqldump test_database --single-transaction --triggers --routines --events --set-gtid-purged=OFF > mysql_dump.sql

[2] バックアップ元で取得したダンプデータを他ホスト上でリストアするには以下のように実行します。
事前にバックアップ元で取得したダンプデータをリストア対象ホストに転送しておく必要があります。
# 全データベースのダンプデータの場合はインポートすれば OK

root@node01:~ #
mysql < mysql_dump.sql

# 特定のデータベースを指定してダンプを取得した場合は
# 事前に同名の空データベースを作成した後にインポートする

root@node01:~ #
mysql test_database < mysql_dump.sql

関連コンテンツ