Mysql8.0默认加密连接方式修改

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 '!1234' 

刷新配置启用

FLUSH PRIVILEGES;

修改默认加密方式为 mysql_native_password 。修改mysql配置文件my.cnf。末尾增加以下一行。并重启mysql服务器。

 default_authentication_plugin=mysql_native_password 

经过以上设置后,先关配置生效,就可以和mysql老版本一样愉快的连接我们的web服务了。

Comments

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注