Kubernetes
在使用 Helm
安装 bitnami/mysql
的时候出现了 Can't connect to local MySQL server through socket '/opt/bitnami/mysql/tmp/mysql.sock
报错,经过排查,原因是 MySQL
在启动后会有一个健康检查,健康检查程序负责检测 MySQL
是否启动成功,判断依据则是是否生成 mysql.sock
这个文件。
导致原因:
当健康检查 readliness prode
去检查 MySQL
是否有正常启动时发现并没有mysql.sock
这个文件时就导致了检查失败。一般情况下,导致这个报错的原因是因为 MySQL
还没有启动,健康检查就已经开始执行检测了,等健康检查检测完之后,MySQL
才启动完成,所以会看到MySQL
进程正常,但是服务会报错。
解决方案:
知道了报错导致原因就可以对症下药的给出解决方案了,这里提供两种解决方案:
- 彻底关闭健康检查,不做任何检测(生成环境中不建议)。
- 将健康检查初始化时间延迟,将时间设置的长一点。
参考文章:https://blog.csdn.net/qq_24210767/article/details/105130984