Mysql8.0默認采用了新的caching_sha2_password的身份驗證方式,此方式並不兼容常規的老的web服務接口,當然,不排除后面會出現。比如phpmyadmin5.0測試版已經出現兼容caching_sha2_password的模式。
為了繼續維持我們常見的web連接的mysql身份驗證方式,我們需要將默認的連接方式及root賬戶的連接方式恢復為舊的mysql_native_password方式。
1.使用root賬戶登入mysql,查詢目前mysql的用戶的身份驗證方式。
select host,user,plugin,authentication_string from mysql.user;
顯示如下:
mysql> select host,user,plugin,authentication_string from mysql.user; +-----------+------------------+-----------------------+------------------------------------------------------------------------+ | host | user | plugin | authentication_string | +-----------+------------------+-----------------------+------------------------------------------------------------------------+ | localhost | XXX | mysql_native_password | *6XXXXXXXXXXXXXXXXXXXX61 | | localhost | mysql.infoschema | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIXXXXXXXXXXXXXBRBEUSED | | localhost | mysql.session | caching_sha2_password | $A$005$THISIXXXXXXXXXXXXXXXXXXXXXXXXXXSTNEVERBRBEUSED | | localhost | mysql.sys | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTXXXXXXXXXXXXVERBRBEUSED | | localhost | root | mysql_native_password | *67FXXXXXXXXXXXXXXXXXXXXX961 | +-----------+------------------+-----------------------+------------------------------------------------------------------------+ 5 rows in set (0.00 sec) mysql>
可以在plugin看到身份插件驗證方式.
更改root賬戶的驗證方式為 mysql_native_password ,在mysql管理界面輸入對應密碼
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'
刷新配置啟用
FLUSH PRIVILEGES;