今天本地項目怎麼都啓動不了,查看日誌發現是鏈接本地數據庫超時,報錯信息以下:
mysql
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
首先查看代碼,發現也沒有修改到數據庫相關的內容,忽然出現有點詭異。
轉念一想會不會是數據庫出了問題,果真,使用數據庫管理工具 Datagrip 鏈接的時候也報了一樣的錯誤,因此基本肯定是 mysql 出了問題。
首先查看 **brew **安裝的本地 mysql 服務的狀態,這裏有三種方法查看:
sql
ps
命令ps -ef | grep mysql
經過 ps
命令加 grep
過濾,能夠查看是否有 msyql 進程在進行。
數據庫
lsof
命令lsof -i:3306
也能夠經過 lsof
命令,查看指定端口有沒有啓動,我當時建立的時候用的默認端口 3306 端口,若是你設置了其它端口,能夠改爲對應的
macos
services
查看(推薦)
brew 的 services
是用來管理後臺服務命令,它主要有以下功能:
bash
好的,直接使用
brew services
命令看看 mysql 的狀態
能夠看到列出的狀態一般有三種,分別是:
工具
其中 stopped 沒啥好說的就是此服務是關閉的。那黃色的與綠色的 started 分別表明什麼呢?首先綠色的 started 表明服務是啓動的而且正常運行。黃色查了半天,發現表明未知,也就是說可能正常啓動着,也可能出現問題,那爲何不直接顯示未知呢?看樣子是爲了兼容,具體能夠看這篇文章 [What is the meaning yellow service "started" status on Homebrew? - Stack Overflow](https://stackoverflow.com/questions/41873704/what-is-the-meaning-yellow-service-started-status-on-homebrew/55798920 "What is the meaning yellow service "started" status on Homebrew? - Stack Overflow")。
很不幸的是,這個黃色對我來講是故障。
google
原本想重啓一下就能夠了,首先重啓 mysql 服務: brew services restart mysql
,結果重啓完仍是不行。而後我重啓電腦,好吧,仍是失敗。
接着搜索。
在 google 搜索 brew services yellow mysql 能夠發現不僅我一我的遇到。不少人給瞭解決方案,可是仍是折騰了好久,才找到對於我有用的,這裏直接貼兩個。
rest
這個方案大體是關服務、卸載服務、刪除服務數據、升級 brew 、再從新安裝服務。我主要看他評論下面兩個 Thanks 以爲應該能夠,結果仍是不行。可能不適合我這種狀況。
日誌
可是重裝之路也很艱難,怎麼都啓動不了,出現了其它問題。應該是沒有卸載乾淨,後來按照這個 brew install mysql on macOS - Stack Overflow 解決了。
發現以前沒有使用 remove & cleanup 命令,可能致使沒有卸載乾淨。按步驟一步一步來就行了。
😔 難受,莫名其妙出現的問題,折騰了幾個小時,謹以此文記念我逝去的幾個小時的青春。
code