XtraBackup基本安装及innobackupex使用方法,远程备份

#获得下载地址
wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.3.3/binary/redhat/6/x86_64/percona-xtrabackup-2.3.3-1.el6.x86_64.rpm


yum install percona-xtrabackup-2.3.3-1.el6.x86_64.rpm


#完全备份
innobackupex --user=root --password=123456  /db_bak


#恢复,已复制整个结构的方式恢复数据库,执行前必须stop MySQL服务,否则会出现不可预知的错误
service mysqld stop
#此时恢复还是会报 /var/lib/mysql/ is not empty,需要删掉/var/lib/mysql/目录下所有的文件
cd /var/lib/mysql/
rm -rf /var/lib/mysql/*
#全量恢复
innobackupex --user=root --password=123456 --apply-log /db_bak/2016-01-13_14-21-24/ ---回写日志这一步 不能少
innobackupex --user=root --password=123456 --copy-back /db_bak/2016-01-13_14-21-24/ 
#设置权限,恢复之后 发现权限都是root,需要修改成mysql,到了这一步全量还原算是完成了,记得重启服务
chown -R mysql:mysql /var/lib/mysql/
service mysqld start


#增量备份


innobackupex  --user=root --password=123456 --incremental-basedir=/db_bak/2016-01-13_14-21-24  --incremental /db_bak


#增量备份恢复:
#将所有的增量备份挨个应用到完整备份的数据文件中,然后再将完整备份中的数据恢复到数据库中
#停止mysql服务(必须)
service mysqld stop
#删除数据文件
cd /var/lib/mysql/
rm -rf /var/lib/mysql/*
#重做全备份的日志
innobackupex --apply-log --redo-only /db_bak/2016-01-13_14-21-24/
#应用第一个增量备份
innobackupex --user=root --password=123456  --apply-log /db_bak/2016-01-13_14-21-24/ --incremental-dir=/db_bak/2016-01-14_11-47-00/ 


#日志已经写入全备份中,重做全备份即可
innobackupex --user=root --password=123456 --apply-log /db_bak/2016-01-13_14-21-24/  ---回写日志这一步 不能少
innobackupex --user=root --password=123456 --copy-back /db_bak/2016-01-13_14-21-24/ 
#删除mysql日志,这一步步能少
MySQL目录下的ib_logfile0和ib_logfile1两个文件
cd /var/lib/mysql/
cp ib_logfile0 ib_logfile0_bak
cp ib_logfile1 ib_logfile1_bak
rm -rf ib_logfile0
rm -rf ib_logfile1
#设置权限,恢复之后 发现权限都是root,需要修改成mysql,到了这一步全量还原算是完成了,记得重启服务
chown -R mysql:mysql /var/lib/mysql/
service mysqld start




#出现数据崩溃 或者 如copied innodb but log 不符的情况
需要设置
innodb_force_recovery=6
innodb_purge_thread=0
重启服务,
然后 在mysqldump导出数据库逻辑备份
在将 设置改成默认
innodb_force_recovery=0
innodb_purge_thread=1
重启服务 还原数据库即可,


出现MySQL Plugin 'InnoDB' init function returned error.
删除MySQL目录下的ib_logfile0和ib_logfile1两个文件,就可以解决问题了
mysql 会重新生成这两个日志

#远程备份,备份到10.50.85.104,需要安装sshpass
cd /etc/yum.repos.d

wget http://download.opensuse.org/repositories/home:Strahlex/CentOS_CentOS-6/home:Strahlex.repo

yum install sshpass

#压缩
innobackupex --user=root --password=123456 --stream=tar ./ | gzip | sshpass -p 'WCcj1Fylr5Hc!@' ssh root@10.50.85.104 "cat - > /var/db_bak/backup.tar.gz"


#备份mysiam表
 myisam表的备份则是通过发出命令flush tables with read lock,然后拷贝myisam的相关表文件 
所以此时 只能进行读 不能进行任何写操作 这里指针对所有库




本文名称:XtraBackup基本安装及innobackupex使用方法,远程备份
转载源于:http://bzwzjz.com/article/iggcci.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都网站设计公司 成都网站建设 成都做网站建设公司 品牌网站建设 网站建设开发 成都网站建设 上市集团网站建设 成都网站建设 成都网站制作 重庆网站设计 成都营销网站制作 成都网站制作 成都网站建设公司 高端网站设计推广 成都网站设计 成都响应式网站建设 成都网站建设 成都网站设计 定制网站制作 网站设计公司 手机网站设计 外贸网站建设