使用配置:
mysql-installer-community-8.0.20.0
windows 10

在默认配置的安装情况下,MySql8.0默认采用了新的caching_sha2_password的身份验证方式(而不是之前的mysql_native_password)。 如下图所示。
image.png

caching_sha2_password的身份验证方式并不兼向下容mysql_native_password验证方式。因此旧sql服务框架,或旧的数据库连接软件,会出现不能连接caching_sha2_password身份验证的MySql数据库的情况。

在服务框架、数据库连接软件没有升级的情况下,如果想要连接MySql,就需要修改MySql加密方式。本文介绍的是通过修改配置的方式来修改。(重装数据库,在上图的地方选择Use Legacy Authentication Method选项也是可以的)

操作步骤:
1、进入MySql命令行界面,用root账户登录。
1.1找到MySql 8.0 Command Line Client,点击
image.png

1.2在命令行界面,输入root账户的密码,然后enter;
image.png

成功后如下图,已经使用root账户登入MySql。
image.png

(括号内部分可以不操作

查询目前MySql的用户的身份验证方式。
select host,user,plugin,authentication_string from mysql.user;
可以在Mysql看到各个账户名的身份验证方式。

2、更改root账户的验证方式为 mysql_native_password。

在mysql命令行界面输入修改命令

语法如下:
ALTER USER '用户名'@'localhost' IDENTIFIED WITH mysql_native_password BY '用户密码';
实际使用中,'用户名'、'用户密码'都要修改

以root账户,密码为password举例
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

3、刷新配置
在MySql命令行中输入
FLUSH PRIVILEGES;

此时已经完成了配置的修改。

验证一下,
键入select host,user,plugin,authentication_string from mysql.user;
结果见下图
image.png

user root的加密方式为已经修改为 mysql_native_password,旧sql服务框架、旧的数据库连接软件可以正常使用了。

完结。

同步更新到自己的语雀
https://www.yuque.com/diracke...


DiracKeeko
125 声望2 粉丝