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

现有三台服务器(都是centos7,安装mysql5.7):
A:10.19.6.6
B:192.168.3.101
C:192.168.3.102

使用xtrabackup备份A的MYSQL数据,然后恢复到B
A的数据库停用,B作为主数据库数据正常更新。
再使用B进行全量备份,恢复到C的数据库,此时发现C上恢复的mysql的root密码居然是A的数据密码,而且最新的数据也还是A上的数据。。。

发现数据库中有innodb的表也有myisam的表,恢复后需要使用mysqlcheck进行修复后才能正常进行查询


梵蒂冈之花
浏览 575回答 1
1回答

忽然笑

我可以这样理解上述操作吗,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 的密码哦如果要达到数据一致,只需恢复后开启主从同步就可以
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MySQL