主題

MySQL連線問題

伶乃 | 2020-12-10 17:44:09 | 巴幣 0 | 人氣 150

似乎是Windows環境下才會產生一堆有的沒的連線問題,弄了好幾個小時終於處理好,就在這邊紀錄一下做法


一開始發生的問題是在workbench上測試連線失敗
後來GOOGLE了很久看到有人說是忘記密碼了,弄錯密碼才會連不了
嗚挖這真的是一個陷阱欸....因為我在Shell使用密碼連線是成功的,我也不覺得我是弄錯密碼才進不去,但又因為只查的到這樣的回答所以還是跳進去找答案了
後來開始查各種改密碼的方法,途中發現我的mysql服務根本沒有啟用 (根本就算是誤打誤撞吧)


就像這樣怎麼也打不開
爬文發現要初始化mysql,於是嘗試這個語法
mysqld --initialize

然後會得到這樣的ERROR,表示建立資料夾的過程中是失敗的
C:\Program Files\MySQL\MySQL Server 8.0> mysqld --initizlize
2020-12-10T08:48:39.399403Z 0 [System] [MY-010116] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe (mysqld 8.0.18) starting as process 7828
2020-12-10T08:48:39.401846Z 0 [Warning] [MY-010091] [Server] Can't create test file C:\Program Files\MySQL\MySQL Server 8.0\data\mysqld_tmp_file_case_insensitive_test.lower-test
2020-12-10T08:48:39.401910Z 0 [Warning] [MY-010091] [Server] Can't create test file C:\Program Files\MySQL\MySQL Server 8.0\data\mysqld_tmp_file_case_insensitive_test.lower-test
2020-12-10T08:48:39.402029Z 0 [ERROR] [MY-010172] [Server] failed to set datadir to D:\Program Files\mysql-8.0.12-winx64\data\
2020-12-10T08:48:39.413160Z 0 [ERROR] [MY-010119] [Server] Aborting
2020-12-10T08:48:39.413265Z 0 [System] [MY-010910] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: Shutdown complete (mysqld 8.0.18)  MySQL Community Server - GPL.

似乎是權限的問題,改成使用以下指令就能解決了
mysqld --initialize --user=root --console
第二行結果會給臨時密碼,要先記下來 (因為忘記截圖了所以先文字表示就好)
接著啟動服務就可以成功開啟了
net start mysql

然後使用以下指令來修改密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY '密碼';

我遇到的連線問題就出在mysql服務沒有啟動,所以啟動了之後workbench也能順利連上了
希望也能幫助到和我遇到相同問題的朋友,畢竟網上資源真的不是很多 :3



另外有個可能也比較常見的問題,如果無法使用mysql指令要記得在系統的環境變數內新增MySQL Server 8.0\bin的路徑
像我的就是 C:\Program Files\MySQL\MySQL Server 8.0\bin
注意是Server不是Shell,雖然可能只有我這麼天兵但我真的放錯還找很久找不到問題

另一個問題是開啟cmd的時候要用系統管理員身分執行,不然會沒有權限開啟服務

創作回應

更多創作