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

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

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
Percona XtraBackup is a free, online, open source, comprehensive MySQL backup solution for all versions of Percona Serve...

手順

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

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板を恵んでくれる人募集中

kometchtechをフォローする
タイトルとURLをコピーしました