MySQL一主一从点击跳转

MySQL双主双从原理:

master 1 为处理写请求;
master 2 和 两个从机(slave1,slave2)负责读请求;
当master 1 宕机时,由master 2 负责写请求,两个从机负责读请求;
master 1 和 master 2 为各自的备机
  • 首先需要准备 4 台机器,虚拟机克隆可以参考该文章

    • 同时启动 4 台虚拟机后,MyCat 启动可能变慢,log日志会报如下错误

      Startup failed: Timed out waiting for a signal from the JVM.
      

      到设置中配置启动超时时间,命令:

      vim conf/wrapper.conf# 启动超时时间
      wrapper.startup.timeout=120
      

      再次启动(启动过程可能较慢,具体可以查看日志),并测试

      mysql -uroot -p -h192.168.171.101 -P8066
      

      四台虚拟机信息:

  • 配置MySQL
    • master 1

      #主服务器唯一id
      server-id=1
      #启动二进制日志
      log-bin=mysql-bin
      #设置不需要复制的数据库(可设置多个)
      binlog-ignore-db=information_schema
      binlog-ignore-db=mycat
      binlog-ignore-db=mysql
      binlog-ignore-db=performance_schema
      binlog-ignore-db=sys
      #设置需要复制的数据库
      binlog-do-db=mycat_01
      #设置binlog格式
      binlog_format=STATEMENT#以下为 双主双从 额外的配置
      #表示在作为从机的时候,有写操作的时候也要更新二进制日志
      log-slave-updates
      #表示每次自增的量,默认是 1 ,因为是双主双从,所以需要更改为 2 避免重复,范围:1 ~ 65535
      auto-increment-increment=2
      #表示自增起始数字,该机器起始为1 自增后为 1,3,5,7,9....
      auto-increment-offset=1
      


      红框内为 双主双从 配置

    • master 2

      #主服务器唯一id
      server-id=3
      #启动二进制日志
      log-bin=mysql-bin
      #设置不需要复制的数据库(可设置多个)
      binlog-ignore-db=information_schema
      binlog-ignore-db=mycat
      binlog-ignore-db=mysql
      binlog-ignore-db=performance_schema
      binlog-ignore-db=sys
      #设置需要复制的数据库
      binlog-do-db=mycat_01
      #设置binlog格式
      binlog_format=STATEMENT#以下为 双主双从 额外的配置
      #表示在作为从机的时候,有写操作的时候也要更新二进制日志
      log-slave-updates
      #表示每次自增的量,默认是 1 ,因为是双主双从,所以需要更改为 2 避免重复,范围:1 ~ 65535
      auto-increment-increment=2
      #表示自增起始数字,该机器起始为1 自增后为 2,4,6,8,10....
      auto-increment-offset=2
      


      红框内是与 maser 1 的区别

    • slave 1 和 slave 2 ,只有server-id不同

      #从服务器唯一id
      server-id=2
      #启动中继日志
      relay-log=mysql-relay
      


      重启 4 台mysql,并查看mysql状态,确保启动成功,命令:

      systemctl restart mysqld
      systemctl status mysqld
      
    • 在从机上配置需要复制的主机
      slave 1 复制 master 1
      slave 2 复制 master 2
      查看主机状态,命令:

      show master status \G
      

      查看主机状态后,不要进行sql操作,需保证从机接入点与各自主机一致

      复制主机,命令:

      #复制主机的命令
      CHANGE MASTER TO MASTER_HOST='主机的IP地址',
      MASTER_USER='slave1', MASTER_PASSWORD='123456',
      MASTER_LOG_FILE='mysql-bin.具体数字',
      MASTER_LOG_POS=具体值;
      


      启动slave,命令:

      start slave;
      

      查看两台 slave 状态,命令:

      show slave status \G
      


      确保都是 Yes,如果不是,查看黄色框内报错原因。
      停止从复制,命令:

      stop slave;
      

      重新配置 主,命令:

      reset master;
      
    • 配置 master 1 和 master 2 互为主备
      master 1 复制 master 2
      master 2 复制 master 1


      开启 slave 并查看状态,确保都是 Yes


  • 测试

    • 创建 mycat_01 数据库
    • 创建表 user
      *
    • 插入数据

      停掉 master 1 ,从master 2 写入,两个 slave 依然进行复制,当 master 1 重启后,会自动更新matser 2 改动数据。

其他章节 -> 跳转

end...

MySQL之主从复制(双主双从)相关推荐

  1. MySQL主从复制配置过程(双主双从模式)

    环境准备 为了搭建MySQL数据库主从复制(双主双从模式),准备一下四台服务器,并明确了各节点的角色及IP地址. 角色 IP地址 节点名称 Master1 192.168.67.140 CentOS0 ...

  2. MyCat学习:使用MySQL搭建主从复制(双主双从模式)

    首先,上一篇我们建立了一主一丛模式的MySQL读写分离 点击这里 那么接下来,我们搭建双主双从模式的读写分离,并且使用MyCat登录访问 原理:master1,master2,slave1,slave ...

  3. 高可用Mysql架构_Mysql主从复制、Mysql双主热备、Mysql双主双从、Mysql读写分离(Mycat中间件)、Mysql分库分表架构(Mycat中间件)的演变...

    [Mysql主从复制] 解决的问题 数据分布:比如一共150台机器,分别往电信.网通.移动各放50台,这样无论在哪个网络访问都很快.其次按照地域,比如国内国外,北方南方,这样地域性访问解决了. 负载均 ...

  4. 【mysql】mysql的数据库主从2(双主双从)

    在搭建mysql的数据库双主双从之前,我们在四台不同的服务器上搭建mysql数据库,安装的步骤在下面的博客中: linux安装mysql :https://blog.csdn.net/wangyunz ...

  5. MySQL学习四:MySQL双主双从

    文章目录 一.MySQL双主双从配置开启二进制日志 二.[配置每一台MySQL服务器的配置文件my.cnf](https://blog.csdn.net/huiguo_/article/details ...

  6. MyCat实现MySQL读写分离(双主双从多库)

    在数据库集群架构中,主数据库负责处理事务性查询(写入操作),而从数据库只负责处理select查询(读操作),这样可以提高数据库整体读写性能.主数据库另外一个功能就是负责将数据变更同步到从数据库中. 读 ...

  7. Mysql 集群双主双从安装使用详细讲解

    文章目录 下载Mysql 安装单机Mysql 配置Mysql集群 双Master配置 master1配置 master2配置 配置说明 双Slave配置 Slave1配置 Slave2配置 双 Mas ...

  8. Mycat实现Mysql的一主一从和双主双从读写分离

    前提是: 已经有了一主一从的Mysql服务架构. 已经安装启动好了mycat.并对mycat有一定了解. 实现 修改mycat的schema配置文件: <!--schema 标签用于定义 MyC ...

  9. 搭建Mysql双主双从报错The slave I/O thread stops because master and slave have equal MySQL server UUIDs(已解决)

    搭建Mysql双主双从报错The slave I/O thread stops because master and slave have equal MySQL server UUIDs 具体问题 ...

最新文章

  1. 利用动态加载模板,配合ajax实现无刷新操作
  2. swift_036(Swift之第三方库SwiftyJSON篇)
  3. java常见类加载器,面试必备
  4. 基于cobbler实现自动安装系统
  5. 码农口述:AI创业两年,积蓄花光,重回职场敲代码
  6. OpenCV使用基本算法检测颜色检查器
  7. 9.找出1000以内的完数,所谓完数是指该数的各因子之和等于该数,如:6 = 1+2+3。
  8. Codeforces Gym 101173 CERC 16 D BZOJ 4790 Dancing Disks
  9. 又是同样的剧情!华为Mate Xs被黄牛炒至4万元上下
  10. 手机浏览器页面知识收集(转)
  11. PHP7 pecl 安装 mongodb扩展 和 PHPLIB
  12. 关于《统计学习方法》中第三章构造kd树算法中的中位数问题
  13. C调用Python2.7,与调用Python3.5相差很大
  14. PS2020制作电子签名
  15. VideoView播放视频的时候尺寸异常
  16. QT 关于颜色的总结
  17. 阿里云思维导图系列(五)阿里云关系型数据库产品全家福
  18. 动感校园行17951长途ip电话卡
  19. 计算机网络应用赛甘肃省,关于举办第三届“甘肃省大学生创新杯计算机运用能力竞赛”预赛的.doc...
  20. win10 EFI文件夹删除了,引导进不去了,该怎么办?

热门文章

  1. android 导入数据库到项目中
  2. 计算机视觉行为分析,计算机视觉技术在人体行为分析中的研究与应用
  3. Loadrunner-Pacing步长
  4. 死锁的四个必要条件以及处理策略
  5. idea vim 配置
  6. R语言使用epiDisplay包的alpha函数计算dataframe数据中指定数据列之间的信度分析、使用alpha函数和基于业务筛选的数据列的列表计算Cronbach‘s α
  7. Linux vsftpd 内网服务器 被动模式配置外网访问 部分填坑
  8. linuxprobe第一章
  9. 妈妈买了水果去感谢吴吴老师
  10. hikari如何切换数据源_Hikari 数据源参数配置说明