node 使用myslq 连接 mysql数据库出现` Client does not support authentication protocol requested by server` 错误

node 连接 mysql 数据库

问题

出现 Client does not support authentication protocol requested by server错误

解释

在安装完MySQL的时候,我们现在一般都使用Navicat来连接数据库,可惜出现下面的错误:
1251-Client does not support authentication protocol requested by server; consider upgrading MySQL client

出现上述问题的原因是:MySQL 8.0 之前的版本中密码的加密规则是mysql_native_password,而在 MySQL 8.0 之后,加密规则是caching_sha2_password把 MySQL 用户登录密码加密规则还原成mysql_native_password 即可!

解决方案

1.查看MYSQL数据库中所有用户

SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

2.修改加密规则,安装的过程中有提示

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

3.修改用户的认证规则

alter user '用户名'@'%' identified with mysql_native_password by '密码';

4.刷新权限

flush privileges;

5.停止并重启服务

# windows 下重启 Mysql 服务
net stop mysql

net start mysql



Linux 下重启 Mysql

1、使用linux命令service 启动:
                                                             service mysqld start
2、使用 mysqld 脚本启动:
                                                             /etc/inint.d/mysqld start
3、使用 safe_mysqld 启动:
                                                             safe_mysqld&

二、停止
1、使用 service 启动:
                                                            service mysqld stop
2、使用 mysqld 脚本启动:
                                                            /etc/inint.d/mysqld stop
3、 mysql admin shutdown

三、重启
1、使用 service 启动:
                                                            service mysqld restart
2、使用 mysqld 脚本启动:
                                                            /etc/inint.d/mysqld restart

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
出现"Client does not support authentication protocol requested by server; consider upgrading MySQL client"的错误提示时,原因通常是由于MySQL客户端的版本与服务器端的版本不兼容所致。为了解决这个问题,你可以采取以下几个步骤: 1. 首先,确定你正在使用MySQL客户端的版本是否较旧。如果是的话,你可以尝试升级到最新版本的MySQL客户端。这可以通过官方MySQL网站或其他可信的渠道进行下载和安装。 2. 如果升级MySQL客户端后问题仍然存在,那么可能是由于服务器端的身份验证插件不受支持所致。在MySQL 4.1版本之前,身份验证插件默认使用mysql_native_password,而在MySQL 4.1及以上版本中,默认使用了更安全的身份验证插件。 3. 如果你的服务器使用的是mysql_native_password插件,而客户端不支持该插件,你可以尝试修改你的MySQL用户的密码并将其设置为使用mysql_native_password插件。 4. 如果你无法更改服务器端的身份验证插件或者无法升级MySQL客户端,你还可以尝试在连接MySQL服务器时明确指定使用旧的身份验证协议。具体而言,你可以尝试使用以下命令连接MySQL服务器: mysql --protocol=tcp --secure-auth -u [用户名] -p 通过采取上述步骤,你应该能够解决"Client does not support authentication protocol requested by server; consider upgrading MySQL client"的问题。请参考上述方法进行操作并注意备份数据库以防止数据丢失。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZC~Reunion

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值