ITPub博客

首页 > 数据库 > MySQL > 太坑了,银河麒麟BUG导致MySQL数据库主从切换后异常?

太坑了,银河麒麟BUG导致MySQL数据库主从切换后异常?

原创 MySQL 作者:chenoracle 时间:2025-01-02 21:05:55 0 删除 编辑

环境说明:

DB:MySQL 8.0.x,MySQL 5.7.x
架构:MySQL双主+Keepalived
OS:Kylin Linux v10 SP1

问题现象:
将MySQL数据库从Redhat操作系统迁移到银河麒麟Kylin Linux v10后,

执行MySQL数据库切换和回切。回切后,发现VIP地址无法ping通,应用无法通过VIP地址连接数据库。

问题分析:
Redhat系统没问题,在银河麒麟Kylin v10可以稳定重现。
最开始怀疑VIP漂移后,服务器arp缓存没有更新,手动执行了arp广播,问题依然存在。
难道是keepalived的问题,尝试关闭keepalived服务,通过手动执行ifconfig命令添加VIP,

然后arp广播,问题仍然可以重现,显然不是keepalived的问题。
尝试重启network.service服务,恢复正常。

root@cjc-db-01:/cjc#systemctl restart network.service

联系厂商排查原因。

问题原因:
收集了sosreport日志,发现route local表出现异常,问题环境比正常环境多了以ip开头的路由信息:
查询:

ip route show table local

结果如下:不应该出现IP开头的路由。

broadcast 192.0.0.0 dev enpxxx proto kernel scope link src 192.0.0.101 
local 192.0.0.101 dev enpxxx proto kernel scope host src 192.0.0.101 
192.0.0.101 dev enpxxx proto kernel scope host src 192.0.0.101

正常环境下,table local中没有以ip开头的条目

broadcast 192.0.0.0 dev enpxxx proto kernel scope link src 192.0.0.101 
local 192.0.0.101 dev enpxxx proto kernel scope host src 192.0.0.101

该问题属于Kylin Linux v10操作系统NetworkManager软件1.16.0-7.p08.ky10.x86_64版本已知bug。
p08版本在代码修改过程中新增了一个向local表添加路由的函数,在使用P08版本NetworkManager软件包时,

进行重启NetworkManager服务操作后,local表会新增一条以ip开头路由条目,进而引发了问题。
而p07和p09都没有这个问题,只有p08版本有这个问题。
解决方案:
升级NetworkManager版本

rpm -qa|grep NetworkManager
rpm -qa|grep NetworkManager-config-server
yum update NetworkManager
yum update NetworkManager-config-server

重启服务

systemctl restart NetworkManager.service
systemctl restart network.service


注意:仅供参考

###chenjuchao 20250102###
欢迎关注我的公众号《IT小Chen》


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29785807/viewspace-3062029/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle ACE、OCMU 用户组成员、Oracle 11g OCM、微信公众号"IT小Chen"

注册时间:2014-08-05

  • 博文量
    853
  • 访问量
    2721876