暂无图片
5.7中从库和主库相差2个事务,用gtid_next跳过错误,该如何指定?
我来答
分享
暂无图片 匿名用户
5.7中从库和主库相差2个事务,用gtid_next跳过错误,该如何指定?

           Retrieved_Gtid_Set: 8c8b87a6-998a-11ee-82a3-000c295f8271:1-809
            Executed_Gtid_Set: 8c8b87a6-998a-11ee-82a3-000c295f8271:1-807


gtid_next应该如何设置

 set session gtid_next='8c8b87a6-998a-11ee-82a3-000c295f8271:808';

还是set session gtid_next='8c8b87a6-998a-11ee-82a3-000c295f8271:808-809';


 begin;


 commit;

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
Mjwlan

在MySQL 5.7中,如果从库与主库相差2个事务,你可以使用gtid_next来跳过错误。根据你提供的信息,主库的最后一个已执行的事务是8c8b87a6-998a-11ee-82a3-000c295f8271:807,而从库需要执行的下一个事务是8c8b87a6-998a-11ee-82a3-000c295f8271:808

为了设置gtid_next,你可以使用以下语句:

复制代码

SET SESSION gtid_next='8c8b87a6-998a-11ee-82a3-000c295f8271:808';

这会告诉MySQL从库在下一次提交时开始执行指定GTID的事务。然后,你可以开始一个新的事务并进行提交:

复制代码

BEGIN; COMMIT;

通过执行以上操作,从库将会跳过缺失的事务,并继续执行后续的事务。请确保在执行这些命令之前,你已经验证了主库和从库之间的数据同步状态,并且确认跳过这两个事务不会对整体数据一致性产生影响。

在MySQL复制中,GTID(全局事务标识)用于确保主库和从库之间的数据一致性。当从库与主库之间的差异超过了可接受的范围时,可以使用gtid_next来跳过错误,并继续同步。

根据你提供的信息,在主库中最后一个已执行的事务是8c8b87a6-998a-11ee-82a3-000c295f8271:807,而从库需要执行的下一个事务是8c8b87a6-998a-11ee-82a3-000c295f8271:808。因此,你希望从库跳过这两个事务。

通过设置gtid_next'8c8b87a6-998a-11ee-82a3-000c295f8271:808',你告诉MySQL从库在下一次提交时开始执行指定GTID的事务。然后,通过开始一个新的事务并进行提交,从库会继续执行后续的事务,跳过缺失的事务。

请注意,在使用gtid_next跳过事务之前,确保在主库和从库之间进行了充分的数据验证,以确保跳过这两个事务不会对数据一致性产生影响。此外,执行这些操作时,建议备份数据库以防止意外情况发生。

暂无图片 评论
暂无图片 有用 8
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏