環境:MySQL 8.0 + Windowsmysql
因爲密碼錯誤或者其餘緣由致使沒法連上MySQL服務,以下圖:sql
解決該問題的具體步驟以下:測試
1.關閉MySQL服務加密
以管理員權限運行cmd程序而後輸入net stop mysql,或者運行services.msc 而後找到MySQL服務並中止運行;spa
2.跳過權限登陸MySQL服務blog
看了不少人的博客,寫的都是找到my.ini文件而後在[mysqld]後添加skip-grant-tables,經測試無效。ip
又查到有的說在cmd中運行mysqld –skip-grant-tables,實測在mysql8.0中已失效,現使用mysqld --console --skip-grant-tables --shared-memory,運行結果以下圖:cmd
3.無密登陸博客
再打開一個cmd窗口,輸入mysql -u root -p,而後回車,再回車(不輸入密碼),直接無密登陸,以下圖:string
4.修改密碼
修改密碼所用的主要命令以下所示:
把密碼設置爲空:UPDATE mysql.user SET authentication_string='' WHERE user='root' and host='localhost';
查看USER表:select host,user,plugin,authentication_string from mysql.user;
以caching_sha2_password加密方式設置密碼修改密碼:ALTER user 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'root';
刷新:flush privileges;
5.從新登陸
把以前打開的cmd窗口關閉,而後以管理員權限運行cmd程序,再執行net start mysql。在MySQL服務開啓成功以後,輸入mysql -u root -p而後在輸入密碼,成功登陸MySQL。