Xtrabackup 备份与恢复

1.安装xtrabackup

# yum -y install perl perl-devel libaio libaio-devel  libev-devel

# wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.5/binary/redhat/6/x86_64/percona-xtrabackup-test-24-2.4.5-1.el6.x86_64.rpm

# rpm -ivh percona-xtrabackup-test-24-2.4.5-1.el6.x86_64.rpm

Xtrabackup提供了两种备份工具:xtrabackup和innobackupex

xtrabackup不能用于备份myisam

 

2.innobackup全库备份

# innobackupex --user=root --password=123456 --host=127.0.0.1 /data/dbbak/innobackupex

备份完成后会在/data/dbbak/innobackupex 下面生成一个以时间命名的目录

 

xtrabackup_binlog_info文件记录了binlog日志的位置

 

3.全库恢复

先停服,再清空 mysql数据目录

# /etc/init.d/mysqld stop

# rm -rf /data/mysqldb/*

# innobackupex --defaults-file=xxx --apply-log ./2017-08-25_10-33-47

# innobackupex --defaults-file=xxx --copy-back ./2017-08-25_10-33-47

# chown -R mysql:mysql /data/mysqldb

启动mysql

# /etc/init.d/mysqld start 

 

4.备份单个库

--database='test test1 test2'  指定你需要备份的那几个库名,用单引号把这些库名引起来,每个库中间用空格隔开。

# innobackupex --user=root --password=123456 --databases='test' /data/dbbak/innobackupex

 

5. 恢复单个库

停止mysql3307 ,清空数据目录

初始化数据库 

# mysql_install_db --user=mysql --defaults-file=/etc/my.cnf mysql_install_db --user=mysql --basedir=/data/apps/mysql3307/ --datadir=/data/mysqldb3307/

将备份文件拷贝到数据目录/data/mysqld3307下

# \cp -r /data/dbbak/innobackupex/2018-03-09_17-41-34/* /data/mysqldb3307/

# chown -R mysql:mysql /data/mysqldb3307

 

启动mysql3307

 

posted @ 2018-03-23 15:07  运煤ing  阅读(140)  评论(0编辑  收藏  举报