第一步遇到計算機-右擊-管理-服務啟動失敗:原文連結https://blog.csdn.net/ermaner666/article/details/79096939/
1.在DOS視窗、gitbush以及一些可以使用的命令列工具的介面上,輸入:net stop mysql、net start mysql時,總是提示:服務名無效。
出現提示如下:
原因是:因為net start +服務名,啟動的是win下注冊的服務。此時,系統中並沒有註冊mysql到服務中。即當前路徑下沒有mysql服務。
如何將MySQL註冊到win服務裡面?!!!(步驟如下)
- 來到MySQL的安裝路徑下bin
2. 在命令列中輸入mysqld --install
成功:出現Service successfully install代表你已經安裝成功,
不成功:
如果出現以上文字的時候,你需要用管理員的身份執行DOS視窗,這樣就可以成功了
3. 執行 net start 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為字尾的資料夾下,如下圖所示。
2、此時,通過電腦自帶的記事本開啟檔案,是不太行得通的,通過sublime text就可以順利開啟了,以“password”為搜尋項,很快就定位到初始密碼了,如下圖所示。
這個密碼是隨機生成的,而且相對複雜,可以直接複雜貼上到命令列視窗。
3、將初始化密碼進行復制,貼上到MySQL登入的密碼中去,如下圖所示。
此時可以看到,順利進入到了MySQL。
4、但是直接輸入MySQL的簡單命令之後,發現並不能運算元據庫,會提示報錯:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.,如下圖所示。
5、這個報錯的意思是告訴你重設密碼,此時只需要輸入命令重新設定密碼即可。至於MySQL重設密碼的方法網上有很多,在這裡不展開講述了,小編用的語法是:alter user 'root'@'localhost' identified by '123456';,其中123456是重設的密碼,大家可以自定義的,順利設定完成之後記得重新整理許可權:flush privileges;,爾後你就可以正常運算元據庫了。該步驟的具體操作過程如下圖所示。
至此,問題完美的解決了,希望對日後不慎踩入此坑的小夥伴們有幫助~~
第三步之後發現還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 就可以正常連線了。