【排坑指南】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
英文地址,請注明出處:http://en.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 …