为了账号安全,请及时绑定邮箱和手机立即绑定

xtrabackup备份出现的数据不同步问题

xtrabackup备份出现的数据不同步问题

梵蒂冈之花 2019-01-02 22:22:46
现有三台服务器(都是centos7,安装mysql5.7):A:10.19.6.6B:192.168.3.101C:192.168.3.102使用xtrabackup备份A的MYSQL数据,然后恢复到BA的数据库停用,B作为主数据库数据正常更新。再使用B进行全量备份,恢复到C的数据库,此时发现C上恢复的mysql的root密码居然是A的数据密码,而且最新的数据也还是A上的数据。。。发现数据库中有innodb的表也有myisam的表,恢复后需要使用mysqlcheck进行修复后才能正常进行查询
查看完整描述

1 回答

?
忽然笑

TA贡献1806条经验 获得超5个赞

我可以这样理解上述操作吗,A 备份传到 B 恢复数据,没有做主从复制;A 关闭数据库;B 备份传到 C 恢复,没有做主从复制,然后发现 A 上有 n 条数据是 C 没有的

xtrabackup备份的时候,如果是 InnoDB 表,会开启事务再备份,如果 MySIAM 表,会锁表备份,这样备份出来的数据和开始备份的时间节点一致

A 的操作过程如下:

时间点1: 开始备份 A 
时间点2: 数据继续写入 A 
时间点3: A 备份完传到 B 恢复
时间点4: 关闭 A 写入

B 恢复后的数据实际上是 A 在时间点 1 的一个数据镜像,所以在时间点 4,A 的数据要比备份数据多,也就是 B 的数据比 A 少了时间点 1 到 4 中间那部分数据。后续再备份 B 到 C 恢复也是同理。

xtrabackup 实质上是全量备份,当然也就包括 mysql.user 用户表,恢复后就是 A 的数据,所以 C 上是 A 的密码哦

如果要达到数据一致,只需恢复后开启主从同步就可以


查看完整回答
反对 回复 2019-01-02
  • 1 回答
  • 0 关注
  • 574 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信