spring Boot 服務(wù)依賴(lài) mysql 啟動(dòng)異常
在啟動(dòng)使用 MySQL 的 spring boot 服務(wù)時(shí),遇到 peculiar 問(wèn)題:該服務(wù)開(kāi)機(jī)自啟后會(huì)立即停止。即使手動(dòng)啟動(dòng),也會(huì)出現(xiàn)同樣的情況。
進(jìn)一步排查發(fā)現(xiàn),只有在進(jìn)入 MySQL 命令行后(輸入 mysql -uroot -p*)再啟動(dòng)該服務(wù),它才能正常運(yùn)行。這令人費(fèi)解,因?yàn)?MySQL 服務(wù)已經(jīng)開(kāi)機(jī)自啟并正常運(yùn)行。
問(wèn)題根源和解決方案
- 數(shù)據(jù)庫(kù)初始化未完成:盡管等待了一段時(shí)間,MySQL 的初始化過(guò)程可能尚未完成。檢查 MySQL 日志,查找具體的錯(cuò)誤信息或標(biāo)記初始化完成的時(shí)間點(diǎn)。在啟動(dòng) Spring Boot 服務(wù)之前,增加更長(zhǎng)的等待時(shí)間。
- 連接超時(shí):Spring Boot 服務(wù)在連接 MySQL 時(shí)可能遇到超時(shí)。檢查服務(wù)配置中連接超時(shí)的設(shè)置,并嘗試增加超時(shí)時(shí)間或添加重試機(jī)制。