• mysql 双机热备注意事项


    上一篇文章已经介绍过    主从复制,   本文对主从复制只是简单描述,如对主从复制不清楚的,可以先看上一篇文章   主从复制 

    一:介绍

      mysql版本:5.7.20

      第一个主服服务器ip:192.168.71.139

      第二个主服服务器ip:192.168.71.141

    二:配置

      第一台主服务器192.168.71.139

      1:修改/etc/mysql/my.cnf 文件,注意这里的#是注释,不要写到配置文件中

    server-id = 141                                                    #服务器id,不能重复,建议用ip后三位。
    log-bin = mysql-bin
    binlog-ignore-db = mysql,information_schema    #忽略写入binlog日志的库
    auto-increment-increment = 2                             #字段变化增量值
    auto-increment-offset = 1                                    #初始字段ID为1
    slave-skip-errors = all                                          #忽略所有复制产生的错误

    2:登陆mysql,创建允许其它服务器复制的账号

    GRANT REPLICATION SLAVE ON *.* to 'mysql账号'@'%' identified by '密码';

    3:使用show master status查询状态

     

    第二台主服务器192.168.71.139

      1:修改/etc/mysql/my.cnf 文件,此处的server-id = 139,其它不变。

      使用show master status查询状态

      

      此时,需要重新启动两台服务器的mysql  

      

      在192.168.71.141执行同步语句

    master_log_file 值来源于139服务器,执行show master status后的 File字段

    master_log_file 值来源于139服务器,执行show master status后的 Position字段
    change master to master_host=192.168.71.139’,master_user=’master2’,master_password=123456’,master_log_file=’mysql-bin.000002’,master_log_pos=154;

      在192.168.71.139执行同步语句

      master_log_file 值来源于141服务器,执行show master status后的 File字段

      master_log_file 值来源于141服务器,执行show master status后的 Position字段

    change master to master_host=’192.168.71.141,master_user=’master1’,master_password=’123456’,master_log_file=’mysql-bin.000002’, master_log_pos=154;

    到此为此配置结束,重启mysql,登陆mysql,使用show slave statusG检查配置状态,发现Slave_IO无法启动,Salve_IO_Running值为no,出现如下提示

    The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.

    通过日志发现,master和slave的uuids重复了,因为这两台服务器是克隆的,所以需要修改/var/lib/mysql/auto.cnf

    这里修改我只修改最后一个字母,因为修改多了,我mysql都无法启动。修改完成,重新启动mysql,再登陆mysql并执行show slave statusG,如下图

    三:测试

    在任意一台服务器执行如下sql

    create table tab141(id int primary key);
    
    create table tab139(id int primary key);
    
    

    在139服务器执行如下sql

    insert into tab139 values(1);

    在141服务器执行如下sql

    insert into tab141 values(2);

    结果如下图:

    如果本文对你有帮助,你可以点一下推荐,谢谢!

  • 相关阅读:
    5月读书日志
    把代码搬到Git Hub 吧(一)
    RTX二次开发(二)(基于ASP.NET)
    RTX二次开发(一)(基于ASP.NET)
    文件夹下迭代查询文件
    JS URL传递中文参数时出现乱码的处理
    js实现上下滑动侧边栏
    基本select语句的生命周期
    NodeJs下的测试框架Mocha
    带新人感想
  • 原文地址:https://www.cnblogs.com/cq-jiang/p/8011709.html
Copyright © 2020-2023  润新知