iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL 5.6主从报错分析
  • 448
分享到

MySQL 5.6主从报错分析

2023-06-14 05:06:42 448人浏览 安东尼
摘要

本篇内容主要讲解“MySQL 5.6主从报错分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Mysql 5.6主从报错分析”吧!1. 问题现象版本:mysql 5.6,采用传统 binlog

本篇内容主要讲解“MySQL 5.6主从报错分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习Mysql 5.6主从报错分析”吧!

1. 问题现象

版本:mysql 5.6,采用传统 binlog file & pos 方式配置的主从复制结构。

MySQL 5.6主从报错分析

实例重启后,主从复制报错如上图所示。

2. 错误含义

错误分为2部分。

第一部分

  • Client requested master to start replication from position > file size;

  • the first event 'mysql-bin.000398' at 163800795,the last event read from './mysql-binlog.000398' at 4,the last byte read from './mysql-bin.000398' at 4'

第一部分

这部分来源于主库的DUMP线程函数

mysql_binlog_send ->sender.run()  ->Binlog_sender::init    ->Binlog_sender::check_start_file if ((file= open_binlog_file(&cache, m_linfo.log_file_name, &errmsg)) < 0)  {  set_fatal_error(errmsg);  return 1; } size= my_b_filelength(&cache); end_io_cache(&cache); mysql_file_close(file, MYF(MY_WME)); if (m_start_pos > size) {  set_fatal_error("Client requested master to start replication from "          "position > file size");  return 1; }

关键就是m_start_pos和size两个值,其中m_start_pos来源于从库需要读取的位点。而size则是本binlog文件的大小,那么很容易理解如果io线程需要的pos点比本binlog文件的大小还要大,那么自然不对。

第二部分

这部分也来源于DUMP线程

mysql_binlog_send ->sender.run()   ->Binlog_sender::init   ->while (!has_error() && !m_thd->killed)   #如果正常这里开始循环读取binlog event,如果前面出错则直接继续后面逻辑   #如果有读取错误则报错    my_snprintf(error_text, sizeof(error_text),         "%s; the first event '%s' at %lld, "         "the last event read from '%s' at %lld, "         "the last byte read from '%s' at %lld.",         m_errmsg,         m_start_file, m_start_pos, m_last_file, m_last_pos,         log_file, my_b_tell(&log_cache));

这里我们主要看看m_start_pos和m_last_pos,实际上m_start_pos就是和前面报错一致的来自从库需要读取的位点信息,而m_last_pos来自dump线程,就是最后读取的位置,显然这里一次都没有读取,因此位置为最开始的pos 4。

3. 可能的原因

分析后觉得最有可能原因应该和sync_binlog 有关。

如果我们没有设置为1,那么可能os cache没有刷盘,如果主库服务器直接crash重启很容易就遇到这种问题。

稍微Google查询了一下发现很大部分出现这种错误都是由于服务器crash且sync_binlog 没设置为 1导致的。

这也证明我们的说法。

最后查看问题数据库的主库确实没有设置为双1。

那么通过这个小案例,我们已经更加深刻体会到设置双1的重要性。

总结

到此,相信大家对“MySQL 5.6主从报错分析”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL 5.6主从报错分析

本文链接: http://www.lsjlt.com/news/267950.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL 5.6主从报错分析
    本篇内容主要讲解“MySQL 5.6主从报错分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL 5.6主从报错分析”吧!1. 问题现象版本:MySQL 5.6,采用传统 binlog ...
    99+
    2023-06-14
  • mysql主从跳过错误的示例分析
    小编给大家分享一下mysql主从跳过错误的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!非gtid:stop slave...
    99+
    2024-04-02
  • MySQL 5.6 GTID常见错误的示例分析
    这篇文章给大家分享的是有关MySQL 5.6 GTID常见错误的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在测试环境搭建完基于GTID的双主环境后,启动数据库报错:[...
    99+
    2024-04-02
  • mysql主从同步错误Last_SQL_Errno: 1032处理分析
    在MySQL DBA 日常运维工作中,主从同步失败一定是会遇到的,最常见建是1032错误。 ...
    99+
    2024-04-02
  • init_command导致mysql 5.6主从连接失败怎么办
    小编给大家分享一下init_command导致mysql 5.6主从连接失败怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!...
    99+
    2024-04-02
  • MySQL主从复制的原理分析
    本篇文章为大家展示了MySQL主从复制的原理分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。主从复制是怎么实现的呢更新语句会记录 binlog,它是一种逻辑日志。...
    99+
    2024-04-02
  • MySQL主从配置的示例分析
    这篇文章主要介绍了MySQL主从配置的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.主节点授权同步用户 官方文档是分两步进行的...
    99+
    2024-04-02
  • MySQL主从搭建的示例分析
    这篇文章给大家分享的是有关MySQL主从搭建的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。背景:由于最近公司项目好像有点受不住并发压力了,优化迫在眉睫。由于当前系统是单数据库系统原因,能优化的地方也尽力...
    99+
    2023-06-15
  • 如何进行mysql 5.6不停机双主一从搭建
    今天就跟大家聊聊有关如何进行mysql 5.6不停机双主一从搭建,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 环境说明:版本 version 5...
    99+
    2024-04-02
  • MySQL 5.6复制报错Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND;
    MySQL 5.6复制报错              Slave_I...
    99+
    2024-04-02
  • MySQL中主从复制的原理分析
    今天就跟大家聊聊有关MySQL中主从复制的原理分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1.1.1 MySQL主从复制介绍MySQL数据库支...
    99+
    2024-04-02
  • MySQL主从不一致的问题分析
    这篇文章主要讲解了“MySQL主从不一致的问题分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL主从不一致的问题分析”吧!  &nbs...
    99+
    2024-04-02
  • 3分钟解决MySQL 1062 主从错误
    1062错误----主键冲突,出现这种情况就是从库出现插入操作,主库又重新来了一遍,iothread没问题,sqlthread出错解决方案:mysql> stop slave;   mysql> set global sql_s...
    99+
    2023-01-31
    主从 错误 MySQL
  • 3分钟解决MySQL主从1594错误
    3分钟解决MySQL主从1594错误简介Part1:写在最前1594这个错误看起来挺严重的,会提示你binlog文件或者Relay log损坏了,例如binary log is corrupted、relay log is corrupte...
    99+
    2023-01-31
    主从 错误 MySQL
  • 3分钟解决MySQL 1032 主从错误
    3分钟解决MySQL 1032主从错误Part1:写在最前1032错误----现在生产库中好多数据,在从库误删了,生产库更新后找不到了,现在主从不同步了,再跳过错误也没用,因为没这条,再更新还会报错解决方案Part1:临时方案mysql&g...
    99+
    2023-01-31
    主从 错误 MySQL
  • 3分钟解决MySQL 1864 主从错误
        从字面意思看了一下是因为slave_pending_jobs_size_max默认值为16777216(16MB),但是slave接收到的slave_pending_jobs_size_max为17085453(17M);解决方案从...
    99+
    2023-01-31
    主从 错误 MySQL
  • Linux中mysql主从配置的示例分析
    这篇文章主要为大家展示了“Linux中mysql主从配置的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中mysql主从配置的示例分析”这篇文...
    99+
    2024-04-02
  • MySQL部分5.6版本罕见复制报错ERROR 1837如何处理
    这篇文章主要介绍了MySQL部分5.6版本罕见复制报错ERROR 1837如何处理,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 ...
    99+
    2024-04-02
  • 怎么解决mysql主从复制报错问题
    这篇文章主要介绍“怎么解决mysql主从复制报错问题”,在日常操作中,相信很多人在怎么解决mysql主从复制报错问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么解决my...
    99+
    2024-04-02
  • MySQL 8.0主从复制模型的示例分析
    这篇文章给大家分享的是有关MySQL 8.0主从复制模型的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、MySQL主从复制模型一切都要从MySQL的主从复制模型开始说...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作