MySQL服務名無效或者MySQL正在啟動 MySQL無法啟動

五月一一發表於2020-03-06

第一步遇到計算機-右擊-管理-服務啟動失敗:原文連結https://blog.csdn.net/ermaner666/article/details/79096939/

1.在DOS視窗、gitbush以及一些可以使用的命令列工具的介面上,輸入:net stop mysql、net start mysql時,總是提示:服務名無效。

出現提示如下:

MySQL服務名無效或者MySQL正在啟動 MySQL無法啟動

MySQL服務名無效或者MySQL正在啟動 MySQL無法啟動

原因是:因為net start +服務名,啟動的是win下注冊的服務。此時,系統中並沒有註冊mysql到服務中。即當前路徑下沒有mysql服務。

如何將MySQL註冊到win服務裡面?!!!(步驟如下)

  1. 來到MySQL的安裝路徑下bin

MySQL服務名無效或者MySQL正在啟動 MySQL無法啟動

2. 在命令列中輸入mysqld --install

成功:出現Service successfully install代表你已經安裝成功,

MySQL服務名無效或者MySQL正在啟動 MySQL無法啟動

不成功:

MySQL服務名無效或者MySQL正在啟動 MySQL無法啟動

如果出現以上文字的時候,你需要用管理員的身份執行DOS視窗,這樣就可以成功了

3. 執行 net start mysql出現:

MySQL服務名無效或者MySQL正在啟動 MySQL無法啟動

刪除mysql下的data檔案,重新執行 mysqld --initialize 就可以在當前路徑下生成data資料夾,再執行net start mysql 就可以啟動mysql

快速以管理員身份開啟DOS:

用管理員身份開啟DOS命令視窗:在當前資料夾下bin下,先按住Shift+單擊滑鼠右鍵以管理員身份執行Dos視窗就可以。

第二步之後發現還是MySQL無法啟動:引入原文連結參考https://cloud.tencent.com/developer/article/1387180

1、此時通過命令列視窗再次登入資料庫(命令為:mysql –u root -p)就可以順利進入了,但是輸入你之前的歷史遺留的密碼並不好使了,而且會報錯,報錯為:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES),如下圖所示。

這是因為MySQL初始化之後,生成了一個初始密碼,放在了data資料夾下以.err為字尾的資料夾下,如下圖所示。

MySQL服務名無效或者MySQL正在啟動 MySQL無法啟動

2、此時,通過電腦自帶的記事本開啟檔案,是不太行得通的,通過sublime text就可以順利開啟了,以“password”為搜尋項,很快就定位到初始密碼了,如下圖所示。

MySQL服務名無效或者MySQL正在啟動 MySQL無法啟動

這個密碼是隨機生成的,而且相對複雜,可以直接複雜貼上到命令列視窗。

3、將初始化密碼進行復制,貼上到MySQL登入的密碼中去,如下圖所示。

MySQL服務名無效或者MySQL正在啟動 MySQL無法啟動

此時可以看到,順利進入到了MySQL。

4、但是直接輸入MySQL的簡單命令之後,發現並不能運算元據庫,會提示報錯:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.,如下圖所示。

MySQL服務名無效或者MySQL正在啟動 MySQL無法啟動

5、這個報錯的意思是告訴你重設密碼,此時只需要輸入命令重新設定密碼即可。至於MySQL重設密碼的方法網上有很多,在這裡不展開講述了,小編用的語法是:alter user 'root'@'localhost' identified by '123456';,其中123456是重設的密碼,大家可以自定義的,順利設定完成之後記得重新整理許可權:flush privileges;,爾後你就可以正常運算元據庫了。該步驟的具體操作過程如下圖所示。

MySQL服務名無效或者MySQL正在啟動 MySQL無法啟動

至此,問題完美的解決了,希望對日後不慎踩入此坑的小夥伴們有幫助~~

第三步之後發現還navicat連線異常 authentication plugin 'caching_sha2_password' ,解決引入原文連結https://blog.csdn.net/m290345792/article/details/88316962?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

1.mysql 8.0 預設使用 caching_sha2_password 身份驗證機制 —— 從原來的 mysql_native_password 更改為 caching_sha2_password。  從 5.7 升級 8.0 版本的不會改變現有使用者的身份驗證方法,但新使用者會預設使用新的 caching_sha2_password 。

客戶端不支援新的加密方式。

修改使用者的密碼和加密方式。在命令列模式下進入mysql。

輸入以下命令:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

然後使用navicate 就可以正常連線了。

相關文章