• MySQL主从异常恢复


    说明

    MySQL主从出现不同步的情况时,或者要添加新的从库时,可以使用以下方法进行操作回复主从。

    停止业务应用

    停止所有连接到主从库上的应用,在恢复主从期间禁止任何增删改等操作,否则恢复失败

    停止主从服务

    进入slave节点,停止主从服务

    $ mysql> stop slave;
    

    处理从库数据

    处理从库数据主要有两种情况:

    • 从库中的数据比主库多

    这种情况需要先找出从库比主库多的数据,将这些数据添加到主库中

    • 主库的数据比从库的数据多

    这种情况可以直接删除从库的所有数据,然后再将主库的数据复制一份到从库

    如果从库所在的容器已经不能正常启动,可以考虑删除容器再重新创新新的容器

    复制主库数据到从库中

    从库数据处理完成后,将从库的数据全部删除掉,然后将主库的数据复制一份到从库中

    主库数据并不仅仅是表数据,还包含用户等数据

    查询主库当前日志位置

    登陆主库的mysql,使用以下命令查询主库当前的二进制日志文件名字以及位置

    $ docker exec –it mysql /bin/bash
    
    $ mysql –uroot –p
    
    $ mysql>show master status;
    

    记录File和Position的值,后面需要使用

    创建主库和从库的连接

    进入从库

    $ docker exec –it mysql /bin/bash
    
    $ mysql –uroot –p
    

    使用以下命令创建主库和从库的连接

    mysql>change master to master_host='172.16.86.100', master_user='slave', 
    master_password='Bjcr.123_MySQL', master_port=3306, master_log_file='mysql-bin.000065', 
    master_log_pos= 998883537, master_connect_retry=30;
    

    重启slave

    使用下面的命令,启动slave

    $  mysql>start slave
    

    使用以下命令查询主从状态

    $ show slave status G;
    

    出现下图所示的情况即为主从创建成功:

  • 相关阅读:
    考虑浏览器兼容的文件上传(IE8不支持FormData)
    IDEA tomcat 部署WEB项目
    如何在springcloud分布式系统中实现分布式锁?
    ABAP DEMO33 选择周的搜索帮助
    ABAP函数篇1 日期函数
    ABAP函数篇2 测试DATE_CONVERT_TO_FACTORYDATE
    增强篇7 判断标准屏幕能否做屏幕增强
    增强篇6 CMOD增强删除
    ABAP DEMO 年月的搜索帮助
    HoloLens开发手记-配置开发环境 Install the tools
  • 原文地址:https://www.cnblogs.com/ybyn/p/13698295.html
Copyright © 2020-2023  润新知