Authentication method 'caching_sha2_password' not supported by any of the available plugins.

這是MySQL8.0一個登陸驗證的問題。mysql

第一步 初始化配置sql

若是已經初始化了,就直接跳過第一步數據庫

你須要知道的是:MySQL安裝的路徑。個人路徑是:G:\mysql-8.0.11-winx64加密

在C:\Windows\System32路徑下找到cmd.exe,右鍵以管理員身份運行,並切換到mysql-8.0.11-winx64中。.net

輸入命令初始化data目錄:插件

mysqld --initialize --console 會出現一段內容,找到內容中root@localhost: 它後面就是登陸數據庫的初始密碼,必定要記下來get

再輸入命令初始化mysql服務cmd

mysqld --install 而後輸入命令啓動mysqlit

net start mysql 若是已經啓動了,他會提示你服務已經啓動。io

若是提示拒絕訪問,那你確定沒有以管理員身份運行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。

啓動成功後,就說明修改配置文件成功,嘗試去鏈接數據庫,應該就成功了

相關文章
相關標籤/搜索