Authentication method 'caching_sha2_password' not supported by any of the available plugins.
這是MySQL8.0一個登入驗證的問題。
第一步 初始化配置
如果已經初始化了,就直接跳過第一步
你需要知道的是:MySQL安裝的路徑。我的路徑是:G:\mysql-8.0.11-winx64
在C:\Windows\System32路徑下找到cmd.exe,右鍵以管理員身份執行,並切換到mysql-8.0.11-winx64中。
輸入命令初始化data目錄:
mysqld --initialize --console 會出現一段內容,找到內容中root@localhost: 它後面就是登入資料庫的初始密碼,一定要記下來
再輸入命令初始化mysql服務
mysqld --install 然後輸入命令啟動mysql
net start mysql 如果已經啟動了,他會提示你服務已經啟動。
如果提示拒絕訪問,那你肯定沒有以管理員身份執行cmd。在C:\Windows\System32路徑下找到cmd.exe,右鍵以管理員身份執行。繼續上步操作。
接下來,登入到資料庫
mysql -u root -p 密碼:輸入就是剛才記下來的,
登陸成功後接著更改密碼,輸入
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密碼';
這以上只是確保不會出現其他的問題,還不能解決密碼驗證的問題。
第二步 修改MySQL的登入驗證配置
cmd連線mysql
mysql -u root -p 修改加密規則
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; 更新一下使用者的密碼
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; 重新整理許可權
FLUSH PRIVILEGES; 重置下密碼(123456789這裡是你要設定的密碼)
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456789'; 完成以後,試著重新連線mysql資料庫,如果還沒有成功,繼續往下走:
第三步 根目錄增加配置檔案
在mysql-8.0.11-winx64這個目錄下,新建my.ini檔案,檔案內容如下,記得儲存:
[mysqld]
預設使用“mysql_native_password”外掛認證
default_authentication_plugin=mysql_native_password [mysql]
設定mysql客戶端預設字符集
default-character-set=utf8 [client]
設定mysql客戶端連線服務端時預設使用的埠
port=3306 default-character-set=utf8
預設使用“mysql_native_password”外掛認證
default_authentication_plugin=mysql_native_password [mysql]
設定mysql客戶端預設字符集
default-character-set=utf8 [client]
設定mysql客戶端連線服務端時預設使用的埠
port=3306 default-character-set=utf8 接下來需要重啟mysql服務。
先停止mysql服務,
net stop mysql 如果提示拒絕訪問,那你肯定沒有以管理員身份執行cmd。在C:\Windows\System32路徑下找到cmd.exe,右鍵以管理員身份執行。繼續上步操作。
已停止成功後,繼續輸入命令啟動mysql
net start mysql 檢視是不是可以正常啟動
如果無法啟動,就是那個my.ini檔案的問題,嘗試只保留檔案中的一部分
[mysqld]
預設使用“mysql_native_password”外掛認證
default_authentication_plugin=mysql_native_password 繼續啟動mysql。
啟動成功後,就說明修改配置檔案成功,嘗試去連線資料庫