[mysql] Percona xtrabackupを使用したバックアップ、リストア

AIX、UNIX、Linux
Percona xtrabackupを使用したバックアップ、リストアでハマったこと - Qiita
10月からリブセンスに入社した @takemotto です。 この記事は 2015年 Livesense Advent Calendar 第21日目です。 現在、本番DBと開発DBのデータ同期にxtrabackupの導入を進めています...

Zabbixのデータベースのバックアップを取ろうとしたところ、lost connectionになってしまい、取れなかったので、xtrabackupを使用してみました。

検証環境:

  • CentOS Linux release 7.2.1511 (Core)
  • mysql Ver 15.1 Distrib 10.1.18-MariaDB, for Linux (x86_64) using readline 5.1
  • percona-xtrabackup-2.3.5-1.el7.x86_64
  • lz4がインストールされていること
Percona XtraBackup for MySQL Databases
Your database server stores some of your enterprise’s most valuable information. Guaranteeing reliable database backups to prevent data loss in the event of an ...

手順

とりあえずのバックアップ

sudo innobackupex --user=root --stream=xbstream --parallel=4  /var/tmp/xtrabackup/ | lz4 -9 > /var/tmp/<ファイル名>.xbstream.lz4

リストアは以下のような感じ。

# /var/tmpに上記手順で取得したバックアップがある前提で
$ cd /var/tmp
$ mkdir xtrabackup
$ cd xtrabackup
## 解凍処理
$ lz4 -d ../<ファイル名>.xbstream.lz4 | xbstream -x -v

ファイルが解凍されるので、

リストア本番。

$ cd ../
## WAL(Write Ahead Log)を適用
$ sudo innobackupex --user=root --apply-log xtrabackup/
・・・・・
151218 10:55:06  innobackupex: completed OK!
## リストア開始
$ sudo innobackupex --copy-back xtrabackup/
innobackupex: Finished copying back files.
151218 11:31:05  innobackupex: completed OK!
# 起動
$ sudo chown -R mysql:mysql /var/lib/mysql
$ sudo systemctl restart mariadb.service
Starting MySQL... SUCCESS!

ファイルの配置場所を変更しているときは、SELinuxの設定に注意。

この記事を書いた人

kometchtech

うつ病を患いながら、IT業界の末席にいるおっさんエンジニア。科学計算をしたことがないのに、HPC分野にお邪魔している。興味のある分野で学習したことをblogにまとめつつ、うつ病の経過症状のメモも置いておく日々。じつはRouterboard User Group JPの中の人でもある。 Amazon欲しいものリスト / Arm板を恵んでくれる人募集中

AD / 広告
いつか、そのとき、あの場所で。rev.2
タイトルとURLをコピーしました