利用xtrabackup恢复mysql从库数据

当从库出现故障,与主库有差异数据,或者要新搭建一个新的从库时,可以利用xtrabackup备份主库,恢复从库数据。

一 试验环境

角色

IP

Xtrabackup 版本

Mysql版本

主库

192.168.1.202

2.4.4

5.7

备库

192.168.1.203

试验步骤

2.1 备份主库

innobackupex  --port=3307 --user=XtrabackupUser --password=123456 /download/bak/xtrbak/

 

#将备份文件拷贝到从库

scp -r /download/bak/xtrbak/2020-03-17_08-37-19/ 192.168.1.203:/download/bak/xtrbak/

2.2 在从库上恢复数据

innobackupex --apply-log /download/bak/xtrbak/2020-03-17_08-37-19

service mysqld stop

#将数据目录设置为空

cd /data/server/mysql_3307/

mv data data_bak

innobackupex --copy-back /download/bak/xtrbak/2020-03-17_08-37-19

chown -R mysql:mysql data

service mysqld start

2.3 设置gtid_purged跳过GTID

#查看xtrabackup_binlog_info中记录的GTID范围

cd /download/bak/xtrbak/2020-03-17_08-37-19/

[root@pc1 2020-03-17_08-37-19]# cat xtrabackup_binlog_info

mysql-bin.000036 1792      2daff865-67ce-11ea-874e-080027040516:1-7,

a4ac8cd2-e17c-11e9-a602-080027040516:1-89,

d4d2f1d2-66f2-11ea-972a-080027040516:1-17

在从库中执行:

mysql> set @@global.gtid_purged='2daff865-67ce-11ea-874e-080027040516:1-7,

    '> a4ac8cd2-e17c-11e9-a602-080027040516:1-89,

    '> d4d2f1d2-66f2-11ea-972a-080027040516:1-17

    '> ';

ERROR 1840 (HY000): @@GLOBAL.GTID_PURGED can only be set when @@GLOBAL.GTID_EXECUTED is empty.

若报上述错误,需要先reset master,再执行该命令。

2.4 change master to

从库恢复完数据后,复制信息消失:

mysql> show slave status \G;

Empty set (0.00 sec)

 

ERROR:

No query specified

 

需要重新配置主从复制:

change master to master_host='192.168.1.202',master_port=3307,master_user='RepUser',master_password='123456',master_auto_position=1;

start slave;

 

#检查主从复制

show slave status \G;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值