转至 http://blog.netzhou.net/?p=93

基本上用了mysql作为oltp业务的,基本上都会配置mysql的主从,一方面用mysql的主从做数据库的读写分离,另一方面mysql本身的单机备份不是很强,一般采用主从架构,在从上进行数据备份。

在这过程中或多或少出现一些主从不同步的情况,本文将对数据主从不同步的情况进行简单的总结,在看这篇文章请注意了本文主要从数据库层面上探讨数据库的主从不一致的情况,并不对主从的本身数据不一致引起的主从不同步进行说明:

1.网络的延迟

由于mysql主从复制是基于binlog的一种异步复制,通过网络传送binlog文件,理所当然网络延迟是主从不同步的绝大多数的原因,特别是跨机房的数据同步出现这种几率非常的大,所以做读写分离,注意从业务层进行前期设计。

2.主从两台机器的负载不一致

由于mysql主从复制是主上面启动1个io线程,而从上面启动1个sql线程和1个io线程,当中任何一台机器的负载很高,忙不过来,导致其中的任何一个线程出现资源不足,都将出现主从不一致的情况。

3.max_allowed_packet设置不一致

主上面设置的max_allowed_packet比从大,当一个大的sql语句,能在主上面执行完毕,从上面设置过小,无法执行,导致的主从不一致。

4.key自增键开始的键值跟自增步长设置不一致引起的主从不一致。

5.mysql异常宕机情况下,如果未设置sync_binlog=1或者innodb_flush_log_at_trx_commit=1很有可能出现binlog或者relaylog文件出现损坏,导致主从不一致。

6.mysql本身的bug引起的主从不同步。

7.版本不一致,特别是高版本是主,低版本为从的情况下,主上面支持的功能,从上面不支持该功能。

以上是我遇到的一些主从不同步的情况。或许还有其他的一些不同步的情况,请说出你所遇到的主从不一致的情况。

基于以上情况,先保证max_allowed_packet,自增键开始点和增长点设置一致,再者牺牲部分性能在主上面开启sync_binlog,对于采用innodb的库,推荐配置下面的内容

1

2

3

innodb_flush_logs_at_trx_commit = 1

innodb-support_xa = 1 # Mysql 5.0 以上

innodb_safe_binlog      # Mysql 4.0

同时在从上面推荐加入下面两个参数

1

2

skip_slave_start

read_only

mysql主从复制不同步案例_mysql主从复制不同步的问题相关推荐

  1. mysql主从复制不同步案例_Mysql主从不同步问题处理案例

    在使用Mysql的主从复制架构中,有两个比较头疼的问题: 1.主从数据不同步后如何处理 2.主从同步延迟问题如何解决 本文将根据实际案例来分析下问题1,至于问题2多数文档介绍的办法是启用多线程复制来解 ...

  2. mysql主从复制原理详解_MySQL主从复制没使用过?三大步骤让你从原理、业务上理解透彻...

    成长是一棵树,总是在你不知不觉的情况下快乐长大:成长是一株草,总是在你不知不觉的情况下长满大地:成长是一朵花,总是在你不知不觉的情况下开满山头. 这不,随着时间的迁移.项目网站的用户量.数据量持续上升 ...

  3. mysql slave 能写吗_MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践

    Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过.但在实际的生产环境中,由单台Mysql作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高 ...

  4. mysql读写分离和分布式_MySQL主从复制与读写分离

    MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践 Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过.但在实际的生产环境中, ...

  5. mysql主从与读写分离_MySQL主从复制与读写分离

    MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践 Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过.但在实际的生产环境中, ...

  6. mysql配置读写分离无效_MySQL数据库的同步配置+MySql 读写分离

    MySQL数据库的同步. MySQL是开源的关系型数据库系统.主从同步复制(Replication)是从一台MySQL数据库服务器(主服务器master)复制数据到另一个服务器(从服务器slave)的 ...

  7. mysql 主从同步检查_MySQL主从复制一致性检测

    在MySQL主从复制过程中,常常需要对某些重要的表进行一致性检查. 由于主从数据在同步时存在一定的延迟,因此直接读取服务器数据的方式无法严格保证信息的一致性.在数据在同步完全结束之前,一直处于不断变化 ...

  8. mysql主从同步触发器_Mysql 主从复制触发器问题

    Statement-based With statement-based replication, triggers executed on the master also execute on th ...

  9. mysql slave 线程 简书_MySQL主从复制(Master-Slave)实践

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

  10. mysql主从复制原理 简书_mysql主从复制,从原理讲到安装配置,全干货

    0.为什么需要主从复制? 1.在业务复杂的系统中,有这么一个情景,有一句sql语句需要锁表,导致暂时不能使用读的服务,那么就很影响运行中的业务,使用主从复制,让主库负责写,从库负责读,这样,即使主库出 ...

最新文章

  1. 成功解决IndexError: index 14 is out of bounds for axis 1 with size 14
  2. 2017甲骨文JavaOne参会感想
  3. 使用一阶微分对图像锐化
  4. django配置数据驱动,python安装失败问题
  5. The connection to adb is down
  6. Sql Server之旅——第一站 那些给我们带来福利的系统视图
  7. java akka 实战_Akka实战:分散、聚合模式
  8. LeetCode 152. Maximum Product Subarray
  9. 深度学习实践指南(二)—— 符号编程
  10. 三次hermite插值matlab,三次hermite插值
  11. 什么是 GPL GNU,自由软件
  12. 计算机与材料物理,南京邮电大学材料物理专业
  13. 胡晓明的“出埃及记”,他将带领支付宝驶向何方?
  14. Vue - 引入集成 Tinymce 富文本编辑器(详细步骤及运行Demo),在 Vue.js 项目中使用富文本插件详细教程,附带超级详细的注释说明
  15. linux centos 光盘修复,CentOS 系统修复
  16. 22考研英语高频词汇
  17. CRT和LCD显示器的区别
  18. L版本修改默认静态壁纸wallpaper
  19. 【angular5】浅谈angular5与serviceWorker——(2)
  20. 基于K8S的OpenStack部署实践

热门文章

  1. bootstrap创建响应式网站
  2. Pod--初始化容器
  3. 解决mysql编码问题_解决mysql乱码问题
  4. python自动发帖源码_Python3实现的 自动发帖小工具 -电脑资料
  5. python怎么排名次_2019:python第3次获得TIOBE最佳年度语言排名
  6. google protobuf_websoket解析protobuf协议
  7. android 如何判断是否有网络,Android中判断网络连接是否可用的方法总结
  8. 技校计算机程序设计,如何编写技工学校计算机程序设计课程校本教材
  9. lzw编码 matlab,LZW编码算法matlab实现.docx
  10. java中运用数组排序_JAVA中运用数组的四种排序方法