• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > 从以下几个方面来处理,MySQL主从复制不一致的问题

从以下几个方面来处理,MySQL主从复制不一致的问题

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了MySQL,处理,方面等相关知识,希望本文的分享对您有所帮助
在搭建Mysql主从配置的时候,常常会出现主从不同步,或者是说有误差,有延迟的情况,下面我们可以根据这几个方面进行错误的排查。


稍微有些规模的网站,基本上都会配置mysql主从复制,一方面用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、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

以上是在Mysql搭建的主从环境下出现问题的解决方法,希望对大家有所帮助。

相关文章:

Mycat读写分离在MySQL主从复制基础上实现的实例

如何利用docker快速构建MySQL主从复制环境的详情介绍

以上就是从以下几个方面来处理,MySQL主从复制不一致的问题的详细内容,更多请关注微课江湖其它相关文章!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 分享下mysql各个主要版本之间的差异
  • MySQL essential版本和普通版本有什么区别?
  • redhat 5.4下安装MYSQL全过程
  • 如何用SQL命令查看Mysql数据库大小
  • 解析mysql中如何获得数据库的大小
  • 解析mysql修改为utf8后仍然有乱码的问题
  • 5个常用的MySQL数据库管理工具详细介绍
  • 解析在MySQL里创建外键时ERROR 1005的解决办法
  • 解析远程连接管理其他机器上的MYSQL数据库
  • mysql 精简过程(删除一些文件)

相关文章

  • 2018-12-05linux修改mysql数据库文件的路径
  • 2017-05-11查看 MySQL 已经运行多长时间的方法
  • 2018-12-05sqlserver中创建链接服务器图解教程
  • 2018-12-05用sql获取某字符串中的数字部分的语句
  • 2018-12-05 MySQL数据库与表的最基本命令大盘点
  • 2018-12-05mysql 优化(5)索引与排序
  • 2018-12-05SQL语句 操作全集 学习mssql的朋友一定要看
  • 2017-05-11Windows下安装MySQL5.5.19图文教程
  • 2018-12-05MySQL中的if和case语句的使用
  • 2017-05-11MYSQL中获取得最后一条记录的语句

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 通过HSODBC访问mysql的实现步骤
    • MySQL主从同步加速 Transfer-- FAQ
    • SQL字符串以及数字常用操作汇总
    • 实例详解mysql解压包的安装基础教程
    • SQL临时表递归查询子信息并返回记录的代码
    • 将MySQL从MyISAM转换成InnoDB错误和解决办法
    • mysql SELECT语句去除某个字段的重复信息
    • MySQL中explain的使用以及性能分析
    • myeclipse连接MySQL数据库详细步骤
    • 使用mysql_connect()函数连接数据库(PHP操作MySQL数据库的方法一)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有