LoginSignup
10
10

More than 5 years have passed since last update.

#innobackupex でテーブル指定してバックアップ→リストア

Last updated at Posted at 2014-03-31

XtraBackupというかinnobackupexでフルバックアップは分かるんだけど、テーブル指定する方法をよく忘れるのでメモ。
参考:Percona XtraBackupの基本的な使い方 | 外道父の匠


バックアップ

# innobackupex --user=$USER --password=$PASSWORD --tables-file=/path/to/tables.file /path/to/backup

--tables-fileオプションで指定するファイルの内容はこんな感じ。

database_name.table_name_0
database_name.table_name_1
database_name.table_name_2

バックアップが完了すると/path/to/backup内にyyyy-mm-dd_hh-mi-ssみたいなディレクトリができる。

(Optional)転送

バックアップ取得ホストとリストア先が違う場合はこんな感じで転送すればよいと思います。

  • 踏み台ホストを経由して転送する例:
tar zcv yyyy-mm-dd_hh-mi-ss | ssh $REMOTE_HOST_A -A "ssh $REMOTE_HOST_B -l$REMOTE_USER -A 'tar xvf - -C /path/to/work_dir'"

リストア

# /etc/init.d/mysqld stop
# rm -rf /var/lib/mysql/*

フルバックアップと違ってバックアップディレクトリにmy.cnfが含まれないので、--defaults-fileの指定が必須、たぶん。

# innobackupex --defaults-file=/etc/my.cnf --user=$USER --password=$PASSWORD --apply-log -export /path/to/backup/yyyy-mm-dd_hh-mi-ss
# innobackupex --defaults-file=/etc/my.cnf --user=$USER --password=$PASSWORD --copy-back /path/to/backup/yyyy-mm-dd_hh-mi-ss
# chown -R mysql:mysql /var/lib/mysql
# mysql_install_db --user=mysql
# mysql_secure_installation
10
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
10