xtrabackup物理备份工具的安装和使用

官网下载地址https://www.percona.com/downloads/Percona-XtraBackup-2.4/LATEST/

下载和安装

wget https://www.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.15/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.15-1.el7.x86_64.rpm

yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL libev

yum localinstall percona-xtrabackup-24-2.4.15-1.el7.x86_64.rpm -y

简单实现的原理

备份过程:
1. ckpt ,记录ckpt后LSN ,to lsn
2. 拷贝数据页 ,保存为数据文件
3. 自动将备份过程redo,会一并备份走,提取最后的last LSN

恢复:
1.其实就是模拟了CSR过程
2.对比LAST LSN ,to lsn
3.使用redo进行前滚,对未提交的事务进行回滚
4.最后得到一个一致性备份

检查mysql的配置文件,是否添加了客户端,若没有添加好客户端的sock文件,不然连接不到数据库

vim /etc/my.cnf  添加

[client]
socket=/tmp/mysql.sock

·······················································开始备份·······················································

全备份操作,填写数据库的帐号密码:

innobackupex --user=root --password=123456 /home/
[root@xdg /home]#ls
2019-10-09_06-56-43

发现备份完成检查文件

如果说提示配置文件没有在/etc ,可以如下操作,直接在在执行备份的时候添加配置路劲

innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 /home/
自主定制备份文件名字,推荐这个
innobackupex --user=root --password=123456 --no-timestamp /home/db-$(date +%F)

–no-timestamp关闭时分秒的

简单优化:如果是多核心cpu可以再添加一个参数 –parallel=8      –use-memory=256M

备份好之后,可以查看备份中的二进制日志的pos号,可以拿来二进制恢复

[root@xdg /home/2019-10-09_06-56-43]#cat xtrabackup_binlog_info
mysql-bin.000007 627398

 

·······················································开始恢复·······················································

前提:
1、被恢复的目录是空
2、被恢复的数据库的实例是关闭

将redo进行重做,已提交的写到数据文件

innobackupex --apply-log /home/2019-10-09_09-56-51

把备份的文件复制到数据库的存储文件下

cp -a /home/2019-10-09_09-56-51/* /mysql/data/

进行文件授权启动mysql

chown -R mysql.mysql /mysql/
systemctl start mysqld
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值