【排坑指南】MySQL初始化后,Nacos与微服务无法连接??

Date:2025/06/18

你好!

今天,分享一个工作中遇到的一个 MySQL 问题。在这之前都不知道是 MySQL 的问题,特离谱!

昨天和今天大多数时间都用来处理了这一个问题:《MySQL进行了数据库初始化之后,Nacos无法连接》。

介绍说明

任务是通过 K8s 私有化部署一套服务,其中依赖 MySQL 和 Nacos 中间件服务。由于是私有化部署,需要对 MySQL 中的数据进行初始化操作,就是 MySQL 启动后有我所有服务需要的数据。

MySQL 初始化的 Dockerfile 如下:

bash 复制代码
[root@host mysql-priavte-8.1.0]# cat Dockerfile
# 基础镜像:应该就是Docker Hub仓库中的MySQL-8.1.0镜像
FROM xxx.com/privatization/mysql-private:8.1.0
MAINTAINER zhencyw

# 把sql文件拷贝到/docker-entrypoint-initdb.d/目录下,以便启动时自动执行这个sql
COPY ./sql/*.sql /docker-entrypoint-initdb.d

# 拷贝mysql配置文件
COPY ./config/ /etc/mysql/

# Mysql密码
ENV MYSQL_ROOT_PASSWORD root

# 数据持久化目录
VOLUME [ "/var/lib/mysql" ]

# 端口
EXPOSE 3306

问题现象

1)使用了初始化的 MySQL 数据库之后(未进行初始化的 MySQL 未测试过),Nacos 无法连接。

从上图中,可以看到 Nacos 在启动时无法获取的数据源,这里就是连不上 MySQL。所以我通过 Navicat 进行查看我的 MySQL 中数据库和数据是否正常,结果也都是有的。这里奇怪的一点是,Navicat 能连接上我的 MySQL 为啥 Nacos 就连不上呢?(到现在也不知原因)

就因为这一点我对 MySQL 未有丝毫的怀疑是它的问题,谁知道结果压根就是 MySQL 的问题。基于前者,导致我对 Naocs 进行各种测试验证,Nacos 启动时行时不行,也切换了3个 Naocs 版本与部署方式(helm、operator)进行测试,都报 Nacos 未进行设置数据源。测试无果。

2)内部项目的微服务进行连接这个初始化的 MySQL 也是连接不上。。这里就能看出是 MySQL 的问题了,不过我是在偶然间发现是 MySQL 问题时才去进行这个测试的。。

MySQL 进行远程连接后这个数据库身份验证方式还是caching_sha2_password这个。但是服务未报错,服务登录成功了。

处理方法

1)通过 Navicat 连接工具,进行重新创建导入 nacos 库和数据,重启 Nacos 后能启动。但由于不满足我脚本一键启动的条件,所以还得找找其他原因。

2)最终处理方法:MySQL 首次启动后需要进行远程连接一次 MySQL,否则 Naocs 与微服务连不上 MySQL,原因不知。。。不知道是不是MySQL配置问题了。


最后:处理方法很简单,发现这个问题真不容易。。。

关注我的gzh,获取更多运维经验!!

END

相关推荐
szarron12 分钟前
HTOOL‑SA12 + HT06 近场探头组合实操|手持设备工位 EMI 预兼容排查完整流程
运维·服务器·开发语言·网络·射频工程·频谱仪
杨云龙UP13 分钟前
DB2 HADR 主备架构活动日志参数优化操作手册
linux·运维·服务器·数据库·db2·db2 hadr·日志参数调整
我是大猴子17 分钟前
MyBatis‑Plus & MyBatis‑Flex 区别
java·服务器·数据库
csdn_aspnet24 分钟前
如何从电脑主机拷东西到VWmare虚拟机
linux·运维·服务器·windows·vmware·虚拟机
鸽芷咕24 分钟前
SQL Server数据库迁移避坑指南:老代码不用重写,金仓KES V9R4C019把路铺平了
数据库
鸽芷咕27 分钟前
MongoDB 鸿蒙 PC 适配全记录:从 Bazel 交叉编译到 HNP 原生数据库服务
数据库·mongodb·harmonyos
码农幻想梦31 分钟前
“找不到 www.bilibili.com 的服务器 IP 地址”解决办法
运维·服务器·tcp/ip
YangYang9YangYan31 分钟前
2026 校招管理会计 JD 拆解,数据分析能力要求与工具清单
java·数据库·数据分析
Vcaker38 分钟前
Linux学习28-Kubernetes service
linux·运维·学习
敲代码的嘎仔1 小时前
互动问答系统实战:两级评论模型、ES 搜索集成、Caffeine 多级缓存全记录
java·开发语言·数据库·elasticsearch·缓存·mybatis·高并发