养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

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

时间:2024-10-17 00:23:56

用工具从远程连接MySQL8数据库的时候,有时候会提示错误:ERROR1251猾诮沓靥(08004):Clientdoesnotsupportauthentication禊诬娱飑protocolrequestedbyserver;considerupgradingMySQLclient

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

工具/原料

MySQL8

方法/步骤

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

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

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

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

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

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

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

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

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

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

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

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

© 一点知识