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、innodb_flush_logs_at_trx_commit = 1

2、innodb-support_xa = 1 # Mysql 5.0 以上

3、innodb_safe_binlog      # Mysql 4.0

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

1、skip_slave_start

2、read_only

专注于 服务器运维与web架构

E-mail:venus#rootop.org

mysql的部分数据主从复制_MySQL主从复制数据不一致的办法部分原因相关推荐

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

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

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

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

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

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

  4. mysql单节点扩展为主从复制_MySQL主从复制

    1.主从复制架构和原理1.1服务性能扩展方式      Scale Up,向上扩展,垂直扩展 Scale Out,向外扩展,横向扩展1.2MySQL的扩展             读写分离 复制:每个 ...

  5. mysql 查询数据 程序_MySQL 查询数据

    MySQL 查询数据 MySQL 数据库使用SQL SELECT语句来查询数据. 你可以通过 mysql> 命令提示窗口中在数据库中查询数据,或者通过PHP脚本来查询数据. 语法 以下为在MyS ...

  6. mysql 加载数据校验_mysql 导入数据后的校验程序

    参考mysql导入样本数据库employees之后的数据校验,可以使用md5或者sha, 原理与思路:首先在将要备份的数据库中生成每个表里的每行每列数据的累加计算md5值,接着hardcode在测试单 ...

  7. mysql单表数据列_MySQL 之 数据操作及单表查询

    1.数据操作 (1)insert 增加数据 1. 插入完整数据(顺序插入) 语法一: INSERT INTO 表名(字段1,字段2,字段3-字段n) VALUES(值1,值2,值3-值n); 语法二: ...

  8. mysql删减表的关键字_Mysql 删除数据及数据表

    在Mysql 中删除数据以及数据表非常的容易,但是需要特别小心,因为一旦删除所有数据都会消失. 删除数据 删除表内数据,使用delete关键字. 删除指定条件的数据 删除用户表内id 为1 的用户:d ...

  9. php mysql读写分离主从复制_mysql主从复制 读写分离原理及实现

    主从复制,读写分离原理 在实际的生产环境中,对数据库的读和写都在同一个数据库服务器中,是不能满足实际需求的.无论是在安全性.高可用性还是高并发等各个方面都是完全不能满足实际需求的.因此,通过主从复制的 ...

最新文章

  1. struts2中报错404 No result defined for action com.jcrj.ahsfjd.ajgl.JdshAction and result input解决方法...
  2. 从表到里学习JVM实现
  3. oracle的connect by语句
  4. 【Leetcode】Python 代码本地构造二叉树、链表
  5. 单引号内的双引号内的双引号怎么写
  6. unrecognised EXT_CSD revision 6解决办法
  7. navicat连接oracle 报 ORA-12737 set CHS16GBK
  8. python打开摄像头cmd_Python调用shell cmd方法代码示例解析
  9. 线上售楼处,卖房神器还是营销噱头?
  10. 深山红叶袖珍PE工具箱V16正式版
  11. 百度echart resize的坑
  12. html字体图标显示不出来,h5页面字体图标显示不正常
  13. cpu空载50度,大热天,cpu都上50度了! -
  14. Vue_(基础)Vue中的事件
  15. Node.js 单元测试:我要写测试 - Mocha - Nodejs开源项目里怎么样写测试、CI和代码测试覆盖率
  16. matlab画极坐标方程图像_怎么用matlab画极坐标图
  17. 图像压缩之奇异值分解(SVD)
  18. java爬虫知乎_java爬虫进阶篇(半小时知乎两万推荐问题)
  19. 2016年8月16日 星期二 --出埃及记 Exodus 16:17
  20. 北大c语言百度云资源,北大C语言讲义.pdf

热门文章

  1. php5.4之分布式缓存memcache(windows7下安装配置)
  2. python-字典方法(dict)知识整理
  3. 从壹开始前后端分离 [ vue + .netcore 补充教程 ] 三十║ Nuxt实战:动态路由+同构...
  4. 【NOIP 2016】组合数问题
  5. bzoj4974: [Lydsy1708月赛]字符串大师
  6. el表达式原样输出问题
  7. ajax跨域,json,jsonp
  8. VS2013打包生成安装文件setup.exe(详细图解)
  9. python实现通讯录的增删改查_python实现数据库增删改查
  10. python xlwt列宽设置_python xlwt 设置单元格样式