MySQL8远程连接出错:ERROR 1251 (08004)

2025-03-17 02:36:15

1、报这个错误主要是因为MySQL8的账号加密方式跟以前不一样了,旧的加密方式使用的是mysql_native_password,而MySQL8用的是新的加密方式caching_sha2_password。而很多工具还是用以前的加密方式来连接,肯定就不行了。

2、要解决这个办法,有两种方案一种是升级远程的连接客户端工具,一种是修改MySQL8的加密方式。

3、升级远程的连接客户端工具我们只要用mysql8版本的客户端工具就能远程连接MySQL8的数据库了。方法参考“Linux上快速安装MySQL数据库”,只是这里我们只要安装客户端工具就可以。#yum install mysql-community-client

4、安装完成后,最新的mysql客户端就可以正常远程连接MySQL8数据库了。

5、修改MySQL8的加密方式这种方法也有两种形式来实现:一种是只修改远程连接的账号加密方式,不影响其它账号一种是修改全局配置文件,使以后创建的账号加密方式都用旧的

6、只修改远程连接的账号加密方式,不影响其它账号只针对远程用户,带上mysql_native_password重新配置一次mysql> ALTER USER 'root媪青怍牙'@'%' IDENTIFIED WITH mysql_native_password BY 'Root@123';执行成功后,就可以用低版本的客户端工具远程连接了。

MySQL8远程连接出错:ERROR 1251 (08004)

7、修改全局配置文件,使以后创建的账号加密方式都用旧在my.cnf里面的[mysqld]下面加上这句话即可:default_authentication_plugin=mysql_native_password添加后,重启服务# systemctl restart mysqld

MySQL8远程连接出错:ERROR 1251 (08004)

8、重启服务后,登录数据库,还需要清空原来账号的密码,再生成一次辩尢霆靡密码才可以mysql > update mysql.user setauth髫潋啜缅entication_string=''whereuser='root';mysql > alter user 'root'@'%' identified by 'Root@123';mysql> flush privileges;

MySQL8远程连接出错:ERROR 1251 (08004)

9、修改完成后,所有原先的客户端都能正常连接了。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢