服务环境:
mysql-community-5.7.22 [已部署]
percona-xtrabackup-2.4
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 =./
评论区