基于galera的mysql数据库集群节点无法登录问题

背景:

最近遇到mysql数据库集群部分节点无法登录问题,运行环境是k8s,mysql集群版是3个副本,每个副本挂载了本地pv,mysql挂载路径是/var/lib/mysql  。在宿主机节点全部掉电启动后,数据库集群有1个节点正常,其他2个节点健康检查0/1,事件信息

Readiness  probe failed:mysqladmin:connect to server at ‘localhost’ failed

Error: ‘Access denied for user ‘incloudmanager’@’localhost’(using password:YES)’

比较奇怪的是在排查信息时发现:

wsrep_cluster_size:3

wsrep_local_state_comment: Synced

wsrep_incoming_addresses: mysql-2,mysql-1,mysql-0

而且异常数据库节点启动日志未见error

尝试了几种处理方法:

1)排除密码错误:修改statefulset.yml中密码,无效 

2)修改statefulset 的配置参数:无效

env:

  • Name MARIADB_EXTRA_FLAGS
  • Values: -init-file=/docker-entrypoint-initdb.d/setprivileg

3) 修改statefulset.yml的配置参数:Readiness delaysecond 延长时间  无效

4)修改statefulset.yml中将副本改为1,然后删除其他的pvc  ,最终导致单副本也无法使用

从现象上看就是异常数据库节点无法通过用户密码的校验。而数据库登录的用户密码存放在mysql数据库user表中。数据库节点都挂载了pv,是不是pv里的user表出现了异常?因此把正常节点1挂载的pv的里的user表相关文件拷贝到其他2个异常节点所挂载的pv路径下。文件内容:

user.frm

user.MYD

user.MYI

然后重启异常的两个数据库节点,通过了健康检查。状态变为1/1

登录权限问题解决后,出现数据库节点之间同步出现问题?很奇怪~

需要有经验的大佬批评指正。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值