備忘録

備忘録

MariaDBのデータ復旧方法

Ⅰ. はじめに

MariaDBが停止し二度と起動しない状態となった場合、原因究明よりもとにかくデータを復旧したい場合のやり方です。

Ⅱ. やり方

1. innodb_force_recovery の値を設定する

1~6まで1ずつ値を起動するまで増やし、MariaDBが起動できるようになるまで試します
/etc/my.cnf.d/server.cnf

[mysqld]
innodb_force_recovery = 1
2. バックアップを取る(mysqldumpする)
# 「テーブル定義」「テーブルデータ」をダンプする
mysqldump -u root -p my_db> my_db.sql

# 「テーブル定義」「テーブルデータ」をダンプする(gzip)
mysqldump -u root -p my_db | gzip > my_db.sql.gz

# 「テーブル定義」「テーブルデータ」「イベント」をダンプする
mysqldump -u root -p my_db --events > my_db.sql

# 「テーブル定義」「テーブルデータ」「イベント」をダンプする(gzip)
mysqldump -u root -p my_db --events | gzip > my_db.sql.gz

# 「イベント」だけダンプする
mysqldump -u root -p my_db --no-data --no-create-db --no-create-info --routines --triggers --skip-opt --events > my_db_event.sql

# 「イベント」だけダンプする(gzip)
mysqldump -u root -p my_db --no-data --no-create-db --no-create-info --routines --triggers --skip-opt --events | gzip > my_db_event.sql.gz
3. 復元する
# gzip -d my_db.sql.gz
mysql -u root -p my_db < my_db.sql