• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

Nobody

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

主从复制断开连接问题

  1. 跳过复制失败的错误

    1. 直接跳过当前事务
    ## GTID模式下,通过以下命令解决
    STOP SLAVE;
    SET GTID_NEXT='xxxxxx:yyy'; ----- 设置需要跳过的gtid event
    BEGIN;COMMIT;
    SET GTID_NEXT='AUTOMATIC';
    START SLAVE;
    
    ## 非GTID模式下,可以通过下面的命令来解决
    stop slave;
    set sql_slave_skip_counter=1;
    start slave;
    
    ## 查看是否是gtid模式
    show variables like '%gtid%';
    

主从中断问题的原因及解决方案

MySQL主从库中断的原因与处理

● 1. 主库上修改用户权限

原因:在主库上执行drop user 或者授权操作时,导致的从库上报错,停止恢复主库的binlog。 解决方法:重启从库同步,跳过出错语句在从库上执行。

mysql> stop slave;
mysql> set sql_slave_skip_counter=1;
mysql> start slave;

注意:在主库上对用户进行操作/授权时,进入mysql提示符后,不要指定具体的数据库,可以避免这类情况发生。

当然也可以对用户权限进行操作时,强制不记录binlog,即:

set session sql_log_bin=0;
grant …..;/drop user …;
set session sql_log_bin=1;

最常见的3种故障

Error_code:1032;handler error HA_ERR_KEY_NOT_FOUND

说明:从库上找不到记录

  • Last_SQL_Error: Could not execute Update_rows event on table XXX. Event's master log mysql-bin.000010 , end_log_pos 794

    原因:主库上更新了记录,从库找不到记录。
    解决:在主库上执行mysqlbinlog分析出错命令的二进制日志进行了哪些操作。然后到从库查找对应的记录看看有没有,如果没有,从根据主库的记录插入到从库即可。接着到从库,跳过当前事务。
    
  • Last_SQL_Error: Could not execute Delete_rows event on table XXX.

    原因:主库删除了记录,从库找不到记录。
    解决:直接在从库上跳过。
    

Error_code:1062;handler error HA_ERR_FOUND_DUPP_KEY

说明:主键重复,从库上已经有了某条记录,主库上又插入了一条相同的记录。

解决:删除从库对应的主键,然后开启同步复制。

desc table_name;
delete from table_name where id = xxx;
start slave;
show slave status \G

最后到主库和从库上都确认一下
select * from table_name where id = xxx;
确保执行成功

https://blog.csdn.net/gms13410433461/article/details/115271632

https://cloud.tencent.com/developer/article/1816449

https://www.modb.pro/db/600964

posted on 2024-09-13 16:37  A_Nobody  阅读(66)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3