MYSQL_GTIDS_SLAVE服务器报错1236

这篇具有很好参考价值的文章主要介绍了MYSQL_GTIDS_SLAVE服务器报错1236。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

故障原因:

是主服务器数据丢失使用xtrbackup备份恢复后导致mysql的slave服务器gitd状态报错

1.slave服务器

老规矩看报错信息:

MYSQL_GTIDS_SLAVE服务器报错1236,mysql,运维,数据库

MYSQL_GTIDS_SLAVE服务器报错1236,mysql,运维,数据库

Got fatal error 1236 from master when reading data from binary log: 'Slave has more GTIDs than the master has, using the master's SERVER_UUID. This may indicate that the end of the binary log was truncated or that the last binary log file was lost, e.g., after a power or disk failure when sync_binlog != 1. The master may or may not have rolled back transactions that were already replicated to the slave. Suggest to replicate any transactions that master has rolled back from slave to master, and/or commit empty transactions on master to account for transactions that have been'
这里可以反应出是主服务器的gtid小于slave服务器导致不可用(也就是可能是主服务器事物和从服务器的事物不一致,很有可能我恢复时覆盖了binlog日志导致)

解决思路:

主从复制原理说人话就是两个线程,一个sql线程和一个binlogdump线程两者之间传输复制日志,其中binlogdump线程负责读取master的binlog日志,而io线程负责读取binlog线程的日志而写入slave服务器的中继日志,再通过slave自己的sql线程写入到或者落盘到slave服务器。通过原理不难发现既然报错说的是:slave服务器的gtid大于master的gtid事物id,就已经能够判定不存在123层原因(最近123层设备有点拉),且slave的sql线程挂了,就说明在读取relay日志写入到mysql时出错,重点排查slave读取master的gtid位置

解决步骤

排查已经处理gtid事物

1.slave服务器

mysql> show global variables like '%gtid%';
+----------------------------------+---------------------------------------------+
| Variable_name                    | Value                                       |
+----------------------------------+---------------------------------------------+
| binlog_gtid_simple_recovery      | ON                                          |
| enforce_gtid_consistency         | ON                                          |
| gtid_executed                    | b3c0ef51-0fab-11ee-8901-0050563ef6ab:5681-2 | ###这里
| gtid_executed_compression_period | 1000                                        |
| gtid_mode                        | ON                                          |
| gtid_owned                       |                                             |
| gtid_purged                      |                                             |
| session_track_gtids              | OFF                                         |
+----------------------------------+---------------------------------------------+

2.master服务器

mysql> show global variables like '%gtid%';
+----------------------------------+------------------------------------------+
| Variable_name                    | Value                                    |
+----------------------------------+------------------------------------------+
| binlog_gtid_simple_recovery      | ON                                       |
| enforce_gtid_consistency         | ON                                       |
| gtid_executed                    | b3c0ef51-0fab-11ee-8901-0050563ef6ab:1-2 | ##这里
| gtid_executed_compression_period | 1000                                     |
| gtid_mode                        | ON                                       |
| gtid_owned                       |                                          |
| gtid_purged                      |                                          |
| session_track_gtids              | OFF                                      |
+----------------------------------+------------------------------------------+

好家伙差这么多

slave重置gtid处理值

mysql> STOP slave;##停止主从
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> RESET SLAVE ALL;##从新设置主从
Query OK, 0 rows affected (0.00 sec)
mysql> RESET MASTER;##重新设置以复制状态集
Query OK, 0 rows affected (0.02 sec)
mysql>  change master to master_host='10.0.0.161',master_user='用户',master_password='密码不',master_port=3306,master_auto_position=1;##从新建立gtid
Query OK, 0 rows affected, 2 warnings (0.01 sec)
mysql> START SLAVE;##启动复制
Query OK, 0 rows affected (0.01 sec)
mysql> SHOW SLAVE STATUS\G;
......................
             Slave_IO_Running: Yes ##两个大yes 代表ok
            Slave_SQL_Running: Yes ##两个大yes 代表ok
.................

期间问题:

这个可能会导致丢事物,取决于你恢复时怎么恢复,这相当于重建gtid

dame,为了保证数据统一我吧主服务器的数据导了一遍给slave以防数据不统一,这不是最完美办法,如果不导也可以选择基于binlog日志保持数据一致,发生事故时,数据没有变化太多加上这个库的数据不太重要,一些监控数据。

吃饭啥也不是:今天中午吃啥子,罗罗罗飞鱼文章来源地址https://www.toymoban.com/news/detail-777619.html

到了这里,关于MYSQL_GTIDS_SLAVE服务器报错1236的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux】远程桌面连接服务器报错:未启用对服务器的远程访问......

    🍁 博主简介   🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊 交流社区: 运维交流社区 欢迎大家的加入! 我们知道,我们日常通过vnc来远程管理linux图形界面,今天分享一工具Xrdp,它是一个开源工具,允许用户通过

    2024年02月04日
    浏览(41)
  • 微信小程序请求服务器地址报错

    {\\\"errno\\\":600009,\\\"errMsg\\\":\\\"request:fail invalid url \\\"/home/swiperdata\\\"\\\"} 1、基地址没写 2、基地址或者接口地址没写对,可能多了空格或者字符等 3、使用了第三方封装的请求方法没有在main.js引入注册 注意: 需在根目录的main.js 的new Vue()和app.$mount()之间引入此文件。 在new Vue()后面的原因是,

    2024年02月11日
    浏览(32)
  • VSCode报错,语言服务器崩溃。正在重新启动...

    连接Linux服务器时,Vscode写C++时报错如题,或者 [Error - 2:26:24 PM] Sending request cpptools/getSemanticTokens failed. Message: Pending response rejected since connection got disposed Code: -32097 [Error - 2:26:24 PM] Sending request cpptools/getInlayHints failed. Message: Pending response rejected since connection got disposed Code: -32097 [

    2024年02月08日
    浏览(80)
  • 【实测可行!】vscode连接服务器 waiting for server log,且报错:无法远程连接到服务器

      不少同学在使用vscode连接服务器的时候会遇到这样的报错:   有 两种可能的原因 : VScode版本过新   一是VScode自动更新了,版本对glibc的要求高了,而服务器不满足,就会报这个错误,最简单的方法就是降为原来的版本。 VScode非正常断开   二是关闭VScode时没有关

    2024年03月22日
    浏览(39)
  • 当前服务器版本不支持该功能,请联系经销商升级服务器 - - 达梦数据库报错

    某项目使用标准版数据库中,使用insert into 正常操作表,插入数据时报错,表为普通表。 -539:当前服务器版本不支持该功能,请联系经销商升级服务器

    2024年02月13日
    浏览(42)
  • 银河麒麟服务器、centos7服务器一键卸载mysql脚本

    【出现问题】如果出现脚本执行报错的问题,基本就是文件编码的问题。 【解决办法】我们需要在linux系统里新建一个sh文件,并将脚本内容复制进去,再去执行新建的脚本即可解决问题。   【金山文档】 mysql相关 https://kdocs.cn/l/clqdydAVNJfU

    2024年02月10日
    浏览(58)
  • PuTTY连接服务器报错Connection refused

    天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。 使用putty连接Ubuntu服务器,报错如下 如果安装了sshd会有状态显示 这里明显没有安装 更

    2024年02月16日
    浏览(33)
  • 华为服务器VMWare启用EVC特性报错,华为服务器v6 BIOS开启Monitor/Mwait功能

    华为服务器VMWare启用EVC特性报错,华为服务器v6 BIOS开启Monitor/Mwait功能 问题描述:华为v6服务器,vcenter平台将其他主机加入集群报错 解决办法: 1、重启服务器,按Delete进入BIOS设置 2、选择Setup Utility设置 3、点击高级设置,选中Socket Configuration进去设置 4、点击进入Advanced Po

    2024年02月11日
    浏览(29)
  • [MySQL]主从服务器布置

    配置完成后重启服务器 $ sudo systemctl restart mariadb; //重启 CHANGE MASTER TO MASTER_HOST = ‘[主机ip]’, MASTER_USER = ‘filestore’, MASTER_PASSWORD = ‘[密码]’, MASTER_LOG_FILE = ‘mysql-bin.000007’, MASTER_LOG_POS = 154; start slave show slave status G ; 可能出现的问题: slava_IO 不能成功连接 . 出现的原因: 1.M

    2024年02月12日
    浏览(35)
  • MySQL跨服务器关联查询

    1. 首先确认服务器的Federated引擎是否开启  修改数据库的配制文件my.ini,(我的my.ini的路径为:D:ProgramDataMySQLMySQL Server 5.7/my.ini),将federated添加到my.ini文件中 CONNECTION还可以使用另外一种方式(需要注意的是SERVER , WRAPPER):

    2024年02月22日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包