背景
想深入了解下前后端的數據交互,打算經手完成一個相對簡單地登錄界面,想要實現交互,肯定得有數據呀,就打開Navicat Premium創建了個本地連接,然而連接時彈出了2003 - Can't connect to MySQL server on 'localhost' (10061 "Unknown error") 錯誤。
解決過程
錯誤顯示“不能連接到mysql服務器”,經查閱,了解到是mysql數據庫服務沒有啟動造成的,那就去任務管理器中開啟唄,結果發現任務管理器壓根沒有這個服務!
好吧,我糊塗了,不是這么開啟的,兩種開啟方式:
- 打開MySQL安裝的路徑位置,雙擊啟動mysqld.exe,然后!閃退了,自然也沒添加進任務管理器的服務中;
- 找到系統中的命令提示符(cmd.exe),右鍵選擇以管理員身份運行打開該程序,輸入mysqld.exe --install安裝服務,執行net start mysql命令啟動,出現了以下情況(ps:當時出錯沒有及時截圖,引用了參考博文中的一張圖,情況是一樣的)
查看MySQL安裝路徑中有配置文件my.ini,但是並沒有Data這個文件夾
“在mysql5.7以上版本中默認沒有一個Data目錄,即沒有初始化服務。需要先初始化mysql才可以啟動服務,否則會報 “服務沒有報告任何錯誤”,啟動失敗。”
這不找到原因了嘛,打開cmd進入安裝路徑的bin文件夾下執行mysqld --initialize-insecure
執行完沒有數據輸出,但是打開安裝路徑Data文件夾已經被創建,而且里面有很多文件,說明初始化成功了
接着執行net start mysql便可以啟動成功,在任務管理器中也能看到MySQL服務了!
注意:雖然啟動成功,但是很快MySQL服務就會自動停止,將my.ini配置文件中的skip-grant-tables注釋掉再次啟動服務就好了
參考
mysql服務無法啟動 服務沒有報告任何錯誤
2003-Cant connect to MySql server on localhost(10061)