请求关于mysql一主多从未计划提升的问题

北风之神 2012-11-05 05:52:10
各位大哥, 问个问题

目前结构如下 m->(s1, s2); binlog_format均为ROW
s1, s2均开启log_slave_updates; m, s1, s2版本均不一致

这时候m上二进制时间位置为100, s1为100, s2为56

现在m彻底崩溃(不能已读取任何数据), s1的pos最新所以提升为主服务器, 需要配置s2成为s1的从服务器

问题在于, s2的pos为56, 因为版本原因, s1 pos 56处的内容与m pos 56处的内容是不一样的, 如果s2仍然从s1 pos 56处开始读取的话, 可能会丢失部分数据

这时候怎么根据s1的二进制日志从新确定s2的pos
...全文
102 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
北风之神 2012-11-06
  • 打赏
  • 举报
回复
引用 1 楼 rucypli 的回复:
找到s2的relay log最后一行 然后去s1的binlog中寻找 或者简单的方法就是重新mysqldump一个s1的备份 去回复s2
问题在于, 如果是ROW格式的二进制日志, 你根本就看不出具体在哪个位置
rucypli 2012-11-05
  • 打赏
  • 举报
回复
找到s2的relay log最后一行 然后去s1的binlog中寻找 或者简单的方法就是重新mysqldump一个s1的备份 去回复s2

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧