XtraBackup基本安装及innobackupex使用方法,远程备份
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,#获得下载地址wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.3.3/binary/redhat/6/x8
千家信息网最后更新 2026年11月03日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的相关表文件
所以此时 只能进行读 不能进行任何写操作 这里指针对所有库
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的相关表文件
所以此时 只能进行读 不能进行任何写操作 这里指针对所有库
备份
数据
文件
日志
服务
增量
数据库
权限
两个
目录
应用
命令
地址
情况
拷贝
数据恢复
方式
结构
还是
逻辑
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
湖北九亚互联网络科技有限公司
广州万易互联网科技有限公司
科技互联网企业
重生之互联网科技帝国
互联网科技巨头监管
科技互联网龙头
互联网品科技
麻工互联网科技
为想互联网科技
互联网未来科技
北京三清互联网科技
贵州叶脉互联网科技有限公司所属行业
厦门千工互联网科技有限公司
玉溪互联网科技怎么选
成都互联网科技公司工作好不好
黑云互联网科技有限公司
浙南科技城互联网大厦招聘
三亚科技创新互联网基地
亚光科技低轨卫星互联网
10位科技互联网大佬
互联网的科技
互联网科技会
上海挚品互联网科技
极限挑战互联网科技
远拓互联网科技
广州紫鲸互联网科技
亿人帮互联网科技
互联网科技创新企业排名
唐山双旺合互联网科技产业园
上海互联网科技园景观