MySQL-备份工具-xtrabackup

服务环境:

  • centos7.2.1511
  • mysql-community-5.7.22 [已部署]
  • percona-xtrabackup-2.4
数据库IP
192.168.0.5

xtrabackup是一款不错的MySQL开源备份工具,优点备份还原速度快、支持热备份。虽然支持增量备份,但是可能出现增量备份还原不了的问题。做增量备份时请谨慎使用。


安装使用:

  • 下载安装
wget http://down.niknk.com/MYSQL/percona-xtrabackup-24-2.4.12-1.el7.x86_64.rpm
yum install percona-xtrabackup-24-2.4.12-1.el7.x86_64.rpm -y
  • 创建备份用户
GRANT RELOAD,LOCK TABLES,REPLICATION CLIENT,PROCESS,SUPER,CREATE,INSERT,SELECT
ON *.* TO 'xtrabackup'@'localhost' identified by 'xtrabackup' ;
FLUSH PRIVILEGES;
  • 备份数据
/usr/bin/innobackupex --defaults-file=/etc/my.cnf --user=xtrabackup  \
--password=xtrabackup --host=localhost --port=3306 --socket=/tmp/mysql.sock \
--parallel=4   /tmp/
  • 恢复数据

停止服务

/etc/init.d/mysqld stop
rm -rf /data/mysql/mysql3306/*

执行数据恢复

innobackupex --defaults-file=/etc/my.cnf  --apply-log /tmp/2018-09-24_23-08-46/
innobackupex --defaults-file=/etc/my.cnf  --copy-back /tmp/2018-09-24_23-08-46/

授权MySQL权限

chown mysql.mysql -R /data/mysql/mysql3306/ -R

参数详解:

--host          指定主机地址
--parallel      使用几个进程备份
--slave-info    在从库执行时,把"CHANGE MASTER" 信息生成xtrabackup_slave_info文件下。

问题总结:

  • 用xtrabackup恢复时报错:
IMPORTANT: Please check that the copy-back run completes successfully.
           At the end of a successful copy-back run innobackupex
           prints "completed OK!".

问题分析:

从以上报错中找到找到两个问题原因。
第一:MySQL的数据库的数据没有完全删除干净 如undo.log、redo.log、ibdata单独保存到别的目录下。
第二:MySQL的my.cnf参数问题

解决方法一:

清空MySQL数据信息包括隐藏文件。

rm -rf /data/mysql/mysql3306/*
rm -rf /data/mysql/mysql3306/.*

解决方法二:

屏蔽配置参数 或者修改指定路径(根据情况而定)。

# innodb_log_group_home_dir  =./
点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注