在安裝MySQL的最后一步發生了如下錯誤:
報:MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
網上大部分介紹了兩種解決辦法方法:
第一種,治標不治本,win+r打開運行,輸入services.msc打開服務(或者我的電腦-右擊-管理-找到服務),找到安裝MySQL時添加的服務名,一般8.0版本的MySQL默認是MySQL80,雙擊打開,登錄選項卡下將選擇的此賬戶改為選擇本地系統賬戶。
應用確定之后再執行就沒問題了,不過這種辦法在每次重裝MySQL之后都需要操作一次。不可行!!!
第二種:配置組策略,這是windows的權限管理帶來的問題,步驟如下:
右擊此電腦–>管理–>本地用戶和組–>組–>雙擊Administrators–>添加–>高級
把NETWORK SERVICE添加到Administrators組
以上方式我都試過,沒有解決我的問題,反而設置之后在命令行使用mysql問題變多!!!
以下是我解決問題的方法:
1、首先我們先通過管理員權限進入cmd,進入MySQL安裝目錄的bin目錄下:
2、接着輸入mysqld --initialize --console,就會出現以下畫面,其中標紅的為數據庫root用戶的初始密碼,一定要牢記,后面登錄需要用到,當然要是不小心關掉了或者沒記住,刪掉初始化的 data目錄,再執行一遍初始化命令又會重新生成。
3、再然后輸入mysqld --install安裝mysql服務,這時候你會發現服務安裝成功了,輸入net start mysql啟動服務
4、輸入mysql -u root -p后會讓你輸入密碼,密碼為前面第二個步驟紅色標志的那些,輸入正確后就會出現如下界面,表示進入了MySQL命令模式。
5、接着更改密碼,輸入ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密碼'; 出現如下界面表示更改成功。
感謝:https://zhuanlan.zhihu.com/p/47459033