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

Date:2025/06/18

你好!

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

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

介绍说明

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

MySQL 初始化的 Dockerfile 如下:

[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

dockerfile目录结构

my.cnf

img

问题现象

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

img

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

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

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

img

img

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

img

处理方法

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

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

img
Naocs集群启动成功

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

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

END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/84022.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/84022.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot获取工程目录

在springboot中使用ApplicationHome获取工程所在目录的时候,开发环境和生产运行环境输出的目录是不同的,开发环境到target/classes目录,而生产运行则是需要的wzkj-server.jar所在目录 ApplicationHome home new ApplicationHome(CollectTas…

深入ZGC并发处理的原理

大型Java应用的核心痛点之一:当JVM进行垃圾回收时强制程序暂停(STW)的代价。在要求低延迟的应用场景——高频交易系统、实时在线服务或全球性大型平台——中,这种"时空静止"的成本可能极高。但JDK从16版本(生…

配置DHCP服务(小白的“升级打怪”成长之路)

目录 项目前准备 一、DHCP服务器配置(Rocky8) 1,关闭防火墙、安全上下文 2、配置网卡文件 3、安装hdcp-server 4、配置dhcp服务 5、重启dhcp服务 二、配置路由器 1、添加两块网卡并更改网卡配置文件 2、配置路由功能 3、挂载本地镜…

云原生安全

云原生 | T Wiki 以下大部分内容参考了这篇文章 什么是云原生 云原生(Cloud Native) “云原生”可以从字面上拆解为“云”和“原生”两个部分来理解: “云”,是相对于“本地”而言的。传统应用部署在本地数据中心或物理服务器…

rapidocr v3.2.0发布

粗略更新日志 rapidocr v3.2.0 发布了。令我感到很开心的是:有 3 个小伙伴提了 PR,他们积极参与了进来。 更新要点如下: 采纳了小伙伴qianliyx 的建议,按照行返回单字坐标:同一行的单字坐标是在同一个 tuple 中的。…

Java 操作数类型冲突: varbinary 与 real 不兼容, Java中BigDecimal与SQL Server real类型冲突解决方案

要解决Java中BigDecimal类型与SQL Server中real类型冲突导致的varbinary与real不兼容错误,请按以下步骤操作: 错误原因分析 类型映射错误:JDBC驱动尝试将BigDecimal转换为varbinary(二进制类型),而非目标字…

25.多子句查询

MySQL 中包含 GROUP BY、HAVING、ORDER BY、LIMIT 时的查询语法规则及应用,核心知识总结如下: 1.语法顺序规则 当 SELECT 语句同时包含 GROUP BY、HAVING、ORDER BY、LIMIT 时,执行顺序为: GROUP BY → HAVING → ORDER BY → L…

Vue3 × DataV:三步上手炫酷数据可视化组件库

DataV(kjgl77/datav-vue3)是专为“大屏可视化”场景打造的 Vue3 组件库,提供边框、装饰、等数十个开箱即用的视觉组件。本文聚焦 “在 Vue3 项目中如何正确使用 DataV”,从安装、全局注册到常见坑点,带你迅速玩转这款酷…

本地KMS服务器激活常用命令

OpenWRT内置了KMS激活的相关服务,配置后需要电脑本地切换到该KMS服务。相关命令如下: 基本功能与定义‌ slmgr是Windows内置的软件授权管理工具,全称为Software License Manager。其核心功能包括产品密钥安装/卸载、许可证信息查询、KMS服务器…

存货核算:个别计价法、先进先出法、加权平均法、移动加权平均法解读

存货作为企业资产的重要组成部分,贯穿于企业运营的各个环节,特别是制造业,企业的所有运营体系都是围绕存货来开展的。根据会计准则,存货是指企业在日常活动中持有以备出售的产成品或商品、处在生产过程中的在半成品,以…

Java异步编程:挑战、实践与未来

📌 摘要 在现代高并发、高性能的系统中,异步编程已经成为构建响应式应用的重要手段。Java 提供了多种异步编程模型,从最基础的 Future 和线程池,到 CompletableFuture 的链式调用,再到反应式框架如 Project Reactor 和…

哈希函数结构:从MD到海绵的进化之路

一、MD结构:哈希函数的经典范式 1. Merkle-Damgrd结构核心原理 #mermaid-svg-BX4ZrTendXiyIVr0 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-BX4ZrTendXiyIVr0 .error-icon{fill:#552222;}#mermaid-s…

零基础设计模式——行为型模式 - 模板方法模式

第四部分:行为型模式 - 模板方法模式 (Template Method Pattern) 现在我们来学习模板方法模式。这个模式在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中实现。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 核…

android通过adb push apk放置目录/sdcard/Download/下无法安装

本文通过对源码进行追踪,并且调试各种方式,得出android通过adb push apk放置目录/sdcard/Download/下无法安装的原因,并从两个修改点触发,提出如何能修复此问题的建议。 1. 现象 把apk通过adb push的方式放在/sdcard/Download文件夹下, (1)直接打开File(DocumentUI)…

Spring Boot整合PF4J:构建动态插拔的组件化架构

前言 在当今快速迭代的软件开发领域,业务需求的频繁变更对系统架构的灵活性和可扩展性提出了极高要求。传统的单体应用架构在面对功能的不断新增和修改时,往往会陷入代码臃肿、维护困难、扩展性差的困境。组件化开发,为解决这些问题提供了新的思路,通过实现组件的动态插拔…

剃须效率低?电铸多孔刀网设计如何提升毛发捕捉率

剃须效率低下常源于刀网对毛发的捕捉能力不足——传统冲压刀网因孔型单一、边缘毛刺等问题,导致胡须滑脱或拉扯。而电铸多孔刀网通过精密工艺革新,将毛发捕捉率提升40%以上。其核心优势在于三维立体孔型设计与微米级精度控制,以下是技术解析&…

进一步了解git

1、什么是集中式?什么是分布式? SVN(集中式) 单一中央仓库:所有代码和历史版本集中存储在中央服务器,用户本地仅保存当前工作副本。 强依赖网络:提交、查看历史等操作需实时连接服务器&#xf…

一、react18+项目初始化

npx create-rect-app 项目名称配置antd design mobile // 安装 npm install --save antd-mobile // 在文件中直接引入使用 import { Button } from antd-mobile <Button></Button>更改webpack配置 // 1.安装必要的包 npm install craco --save-dev // 2.修改pack…

Azure 资源清单

Azure 资源清单 作用前置条件安装PowerShell 7.0验证 Azure资源清单安装配置如果有旧版本&#xff0c;导致新模块安装不上&#xff0c;进行强制安装 PowerShell 登录到 Azure基本命令输出详细信息效果图展示 作用 官方文档&#xff1a;https://github.com/microsoft/ARI?tabr…

S11的含义-信号完整性分析

S11的含义: PCB上的互连结构是线性无源的&#xff0c;在传输信号时激励源只有一个&#xff0c;即驱动器发出的信号。如果正弦信号从端口1进入&#xff0c;根据S11定义&#xff0c;S11表示端口1出来的正弦信号和端口1进入的正弦信号的比值。工程上通常把S11称为回波损耗(Return …