暂无图片
从库意外重启,主从断开
我来答
分享
M
msg
2021-06-16
从库意外重启,主从断开

报错信息:Coordinator stopped because there were error(s) in the worker(s). The most recent failure being: Worker 1 failed executing transaction ‘NOT_YET_DETERMINED’ at master log mysql-bin.002207, end_log_pos 752133877. See error log and/or performance_schema.replication_applier_status_by_worker table for more details about this failure or others, if any.

紧急恢复步骤:
stop slave;
reset slave;
CHANGE master to MASTER_HOST=“172.18.3.", master_port=33060,MASTER_USER="", MASTER_PASSWORD="****”, MASTER_LOG_FILE=“mysql-bin.002207”, MASTER_LOG_POS=752133877;

是否可行???,数据能保持一致吗???

我来答
添加附件
收藏
分享
问题补充
7条回答
默认
最新
M
msg
升级问题到: 紧急故障
暂无图片 评论
暂无图片 有用 0
打赏 0
M
msg

紧急恢复步骤:
stop slave;
reset slave;
CHANGE master to MASTER_HOST=“172.18.3.", master_port=33060,MASTER_USER="", MASTER_PASSWORD="****”, MASTER_LOG_FILE=“mysql-bin.002207”, MASTER_LOG_POS=752133877;
start slave;
是否可行???,数据能保持一致吗???

通过这样的方式恢复,我关注一下,发现Read_Master_Log_Pos跟Relay_Log_Pos相差过大

让我有点冷汗直下

暂无图片 评论
暂无图片 有用 0
打赏 0
cqiwen

有可能会主从数据不一致。建议从库重新初始化数据。

暂无图片 评论
暂无图片 有用 0
打赏 0
M
msg

我是从出问题的binlog文件以及binlog日志点恢复的,按逻辑来说,同步到mysql-bin.00220跟752133877点报错,那么我就从mysql-bin.00220跟752133877点开始重新同步,为什么会数据不一致,想不明白这一点。

暂无图片 评论
暂无图片 有用 0
打赏 0
始于脚下

按你紧急恢复的方法,跟踪一下日志,看有没有输出报错信息,如果没有报错信息,可以观察一阵子看看。

暂无图片 评论
暂无图片 有用 0
打赏 0
Cui Hulong

MySQL pt-table-checksum主从一致性验证一下

暂无图片 评论
暂无图片 有用 0
打赏 0
M
msg

也有考虑使一致性验证工具,查到都是在进行锁写下进行,pt-table-checksum能不锁定检测吗

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
MySQL 怎么只取标红的数字1吗?
回答 1
已采纳
第三列的基础上,加个函数right(?,1),再加层判断if(right(?,1)1,'is1','not1');
@@和@的区别?
回答 2
select@@innodbbufferpoolsize;等价与showvariableslike'innodbbufferpoolsize';当你用SELECT@@varname搜索一个变量时(也就
MySQL 表 admin 表名 session, 怎么设置可以把session表名设置为不可写 或者只读属性?
回答 1
已采纳
lock table tablename read;
MySQL批量执行脚本,执行结果写到文件中,现在执行过程中有错误,但是结果文件只有结果,没有对应的SQL,怎么能拿到对应的SQL?
回答 1
可以通过在脚本中添加日志记录语句,将执行的SQL语句记录到日志文件中。
MySQL为什么需要undo log
回答 3
已采纳
undolog有两个作用1、一个用于实现事务ACID中的A用于事务回滚2、一个用于ACID中的I实现MVCCmysql中所有操作是在bufferpool中完成的我们设想一个场景。假如没有undolog
MySQL的存储过程与函数的联系与区别是怎样的?
回答 1
已采纳
存储过程是用户定义的一系列SQL语句的集合,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表。函数是为其他程序服务的,需要在其他语句中调用函数才可
有没有什么方法可以实时检测 mysql 数据库中某个值是否发生改变?
回答 1
触发器?
mysql的列宽怎么调整?
回答 1
修改表中字符串长度?
MySQL5.7哪个子版本稳定?
回答 3
已采纳
当前稳定的GA小版本MySQL5.7.36,具体可参考官方文档
ddl没有阻塞dml的问题
回答 1
在你描述的场景中,ALTERTABLE操作在sess1中执行,同时sess2尝试在tt表中插入数据。在MySQL5.7中,由于ALTERTABLE的实现方式,sess2的INSERT操作可能不会被立即