说明:最近部署了mysql的集群环境,详细如下M01和M02为主主复制,M01和R01为主从复制;在测试的过程中发现了以下问题:

1、M01和M02的主主复制是没有问题的(从M01写入数据能同步到M02,从M02写入数据能够同步到M01);

2、主从同步的时候,当从M01写入的时候,数据可以写入到R01;

3、当从M02写入的时候,数据就不能写入到R01;

问题的原因:log_slave_updates参数的状态为NO

mysql的官网说明如下:

Normally, a slave does not log to its own binary log any updates that are received from a master server. This option tells the slave to log the updates performed by its SQL thread to its own binary log. For this option to have any effect, the slave must also be started with the --log-bin option to enable binary logging. Prior to MySQL 5.5, the server would not start when using the --log-slave-updates option without also starting the server with the --log-bin option, and would fail with an error; in MySQL 5.5, only a warning is generated. (Bug #44663) --log-slave-updates is used when you want to chain replication servers. For example, you might want to set up replication servers using this arrangement:

A -> B -> C

Here, A serves as the master for the slave B, and B serves as the master for the slave C. For this to work, B must be both a master and a slave. You must start both A and B with --log-bin to enable binary logging, and B with the --log-slave-updates option so that updates received from A are logged by B to its binary log.

a) M01同步从M02同步数据过来的时候,log_slave_updates参数用来控制M01是否把所有的操作写入到binary log,默认的情况下mysql是关闭的;

b) R01数据的更新需要通过读取到M01的binary log才能进行更新,这个时候M01是没有写binary log的,所以当数据从M02写入的时候,R01也就没有更新了。。

问题的解决方法:

log_slave_updates:默认值为OFF;

Dynamic Variable:NO

处理方法:修改/etc/my.cnf,增加一行log_slave_updates=1,重启数据库后就可以了;

总结:设置完该参数后,数据库的架构就可以设置成M01和M02为主主同步,R01通过M01进行主从同步;

应用的写操作中M02上面进行,读操作中R01上面进行(如果读操作很多的话,可以在M01上面架设多台只读数据库),当M02发生故障后,系统的写操作自动迁移到M01上面。这种架构基本可以保证大部分公司的应用需求;

主从同步设置的重要参数log_slave_updates相关推荐

  1. mysql 去重 根据id_mycat数据库集群系列之mysql主从同步设置

    最近在梳理数据库集群的相关操作,现在花点时间整理一下关于mysql数据库集群的操作总结,恰好你又在看这一块,供一份参考.本次系列终结大概包括以下内容:多数据库安装.mycat部署安装.数据库之读写分离 ...

  2. mysql设置主从同步只读_MySql主从同步设置

    主MySql服务器A:192.168.1.3 从MySql服务器B:192.168.1.4 1.编辑A的my.cnf,一般在/etc/my.cnf,在[mysqld]下面添加 log-bin=mysq ...

  3. DNS基础:域名解析、多重域名解析、特殊域名解析、主从同步设置

    DNS基础:域名解析.多重域名解析.特殊域名解析.主从同步设置 作者:卖兔子的萝北 分类:学习笔记 虚拟机A ip:192.168.4.7 虚拟机B ip:192.168.4.207 一.域名解析 1 ...

  4. MySQL主从同步设置

    开始学习MySQL的主从设置,把学习的过程记录一下,其中也参考了很多大佬们的笔记,我的主要系统是win10系统 一.介绍及准备工作 1.介绍 MySQL主从配置又叫Replication或者AB复制, ...

  5. linux无法同步数据库表,Linux数据库:MySQL主从同步设置和同步错误处理

    注意: 1.两台服务器数据库版本应一致,如果不一致,从服务器的版本要高于主服务器的版本. 2.MySQL进行实时数据同步,本质上是将mysql动作同步到Slave服务器,而不是对实质的数据进行同 步. ...

  6. mysql主从同步端口_mysql主从同步设置

    在主机的my.cnf中的mysqld模块下添加 log-bin=mysql-bin server-id=1(随便,只要和slave不一样就行,一般可用IP末尾) 在从机的mysqld模块下添加serv ...

  7. mysql主从同步时间设置,mysql主从同步设置小记

    主服务器很好配置, 分配一个唯一的server-id, 开启log-bin如下 #开启bin日志 log-bin=mysql-bin #主库上限定需要同步的dbname binlog-do-db=db ...

  8. CentOS使用docker部署mysql5.7、可使用navicat连接mysql服务,以及主从同步配置

    查找待拉取的镜像 mysql镜像地址:https://hub.docker.com/_/mysql?tab=tags 我使用的是5.3.37的版本:docker pull mysql:5.7.37 d ...

  9. mysql主从同步slave_MySQL主从复制(Master-Slave)实践

    MySQL数据库自身提供的主从复制功能可以方便的实现数据的多处自动备份,实现数据库的拓展.多个数据备份不仅可以加强数据的安全性,通过实现读写分离还能进一步提升数据库的负载性能. 下图就描述了一个多个数 ...

最新文章

  1. 朴素、Select、Poll和Epoll网络编程模型实现和分析——朴素模型
  2. webpack打包html里面img后src为“[object Module]”问题
  3. vue在开发环境怎么兼容ie_Vue兼容ie9的问题全面解决方案
  4. matlab读int16读文件_MATLAB: 使用内存映射加快文件读写
  5. 理解linux虚拟文件系统VFS - 概述
  6. 吴恩达机器学习笔记:(三)梯度下降法
  7. c语言windows api编程,windows API编程学习
  8. 网络爬虫抓包使用及通过表单请求
  9. 详解 Qt 串口通信程序全程图文 (1)
  10. kafka 常见问题( 持续更新... ... )
  11. UVa-227-谜题
  12. python怎样连续输入两个数字_在python中生成连续的数字,同时输入不变
  13. javaSE学习 访问控制
  14. eclipse重定向输入输出到文件
  15. MT6763芯片资料MT6763处理器性能介绍下载
  16. vue3笔记(乱七芭蕉更新中)
  17. Debugging connection was closed. Reason: WebSocket disconnected
  18. 第一行代码-第二版(郭霖著)笔记三(UI控件)
  19. Longest Commen Prefix
  20. linux 中 awk sed cut sort 常规操作

热门文章

  1. 深度学习stride_深度学习圣经“花书”各章摘要与笔记整理
  2. flowable支持的mysql版本_Flowable3-配置
  3. python-shutil学习
  4. 单片机成长之路(51基础篇) - 022 N76e003 APROM模拟EEPROM驱动
  5. 51单片机开发板(W25Q16学习)
  6. thinkPHP学习笔记
  7. MySQL中索引的分类和基本操作
  8. (zz)Sql Server 2005中的架构(Schema)、用户(User)、角色(Role)和登录(Login)(三)
  9. qhfl-6 购物车
  10. oracle分歧处理,ORACLE 过程中容错处理