返回顶部
首页 > 资讯 > 数据库 >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主从报错分析

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

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

猜你喜欢
  • MySQL 5.6主从报错分析
    本篇内容主要讲解“MySQL 5.6主从报错分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL 5.6主从报错分析”吧!1. 问题现象版本:MySQL 5.6,采用传统 binlog ...
    99+
    2023-06-14
  • MySQL 5.6主从报错的实战记录
    1. 问题现象 版本:MySQL 5.6,采用传统 binlog file & pos 方式配置的主从复制结构。 实例重启后,主从复制报错如上图所示。 2. 错误含义 错误分为2部分。 第一部分 ...
    99+
    2022-05-26
    mysql5.6主从配置 mysql5.6主从报错 mysql 主从配置
  • MySQL 5.6 主从复制配置
    一、前言:为什么MySQL要做主从复制(读写分离)?通俗来讲,如果对数据库的读和写都在同一个数据库服务器中操作,业务系统性能会降低。为了提升业务系统性能,优化用户体验,可以通过做主从复制(读写分离)来减轻主...
    99+
    2024-04-02
  • 5.6 MySql主从自动切换脚本
    2015.07.17<br /> <br /> <br /> <div id="codeText" class="codeText&q...
    99+
    2024-04-02
  • MySQL 5.6主从Slave_IO_Running:Connecting/error connecting to master *- retry
    刚配置的MySQL主从,在从机上看到 点击(此处)折叠或打开 ...
    99+
    2024-04-02
  • 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
  • 详细分析MySQL主从复制
    前言: 在MySQL中,主从架构应该是最基础、最常用的一种架构了。后续的读写分离、多活高可用架构等大多都依赖于主从复制。主从复制也是我们学习MySQL过程中必不可少的一部分,关于主从复制的文章有很多,笔者也来凑凑热闹...
    99+
    2022-05-13
    MySQL 主从复制
  • Percona MySQL 5.6 主主复制环境报错"Got fatal error 1236 from master.."
    Percona MySQL 5.6 主主复制环境报错: mysql> show slave status\G *************************** 1. row *********...
    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主从同步报错,server-id一致导致报错
    今天新加入一台从库,进行同步master数据,但是my.cnf配置文件直接拷贝,没修改server-id,导致报错:2017-04-01 14:57:16 140661325472512...
    99+
    2024-04-02
  • init_command导致mysql 5.6主从连接失败怎么办
    小编给大家分享一下init_command导致mysql 5.6主从连接失败怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!...
    99+
    2024-04-02
  • mysql 主从复制如何跳过报错
    一、传统binlog主从复制,跳过报错方法 mysql> stop slave; mysql> set global sql_slave_skip_counter = 1; mysql> sta...
    99+
    2022-05-28
    MySQL 主从复制 MySQL 跳过报错 MySQL 主从复制报错
  • MySQL中主从复制的原理分析
    今天就跟大家聊聊有关MySQL中主从复制的原理分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1.1.1 MySQL主从复制介绍MySQL数据库支...
    99+
    2024-04-02
  • MySQL主从不一致的问题分析
    这篇文章主要讲解了“MySQL主从不一致的问题分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL主从不一致的问题分析”吧!  &nbs...
    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
  • 3分钟解决MySQL 1864 主从错误
        从字面意思看了一下是因为slave_pending_jobs_size_max默认值为16777216(16MB),但是slave接收到的slave_pending_jobs_size_max为17085453(17M);解决方案从...
    99+
    2023-01-31
    主从 错误 MySQL
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作