關於mysql8.0 caching_sha2_password和sha256_password認證方式


今天開發上線新系統反饋數據庫連接有問題。自己分別在命令行下及navicat進行連接發現,發現root用戶密碼在命令行下可以正常連接,但是新建立的子用戶連接不上。於是就換成管理員密碼。立即就連接上了。看來是密碼設置問題。隨即就換了密碼就可以了。

切記兩個密碼策略不一樣,一定要更按照規則設置密碼,很有可能是不符合規則導致連接不上。從另一個加密碼規則切換到另一個加密碼規則密碼就不好使了。

但是用navicat連接不上,Client does not support authentication protocol requested by server,必須把密碼插件必須改為:mysql_native_password。

解決方案

USE mysql; 
ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘123456’; 
FLUSH PRIVILEGES;
 
也可以參數my.cnf中加上
default_authentication_plugin=mysql_native_password
 
 

查看當前用戶使用的密碼驗證插件

mysql> show variables like '%auth%';

查看 MySQL8 支持的密碼驗證插件

mysql> show plugins;

修改系統默認的密碼驗證插件配置參數方式 default-authentication-plugin

設置默認密碼驗證插件

default-authentication-plugin=caching_sha2_password

啟動參數方式 --default-authentication-plugin
C:\Users\jie>D:\chengxu\MySQL\mysql-8.0.12-winx64\bin\mysqld --default-authentication-plugin=mysql_native_password

查看用戶密碼插件 mysql> select host, user, plugin from mysql.user;  

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM