zoukankan      html  css  js  c++  java
  • 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。

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

    我安装的时候是使用的安装包去安装的,所以新建了几个用户,cmd命令,连接mysql,查询系统当中所有的用户。

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

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


    2.修改加密规则,因为最新版的加密规则好像不一样,安装的过程当中是有提示的。

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


    3.修改用户的认证规则

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


    例如我的用户名是admin,密码是123456,那么,我修改的规则如下

    mysql> alter user 'root'@'%' identified with mysql_native_password by '12345678';

    其中还有'用户名'@'%'和'用户名'@'localhost'的区别,一个是任意连接,一个是本地连接。

    4.刷新权限

    mysql> flush privileges;


    5.停止并重启服务

    mysql> net stop mysql
    mysql> net start mysql


    现在再去用Navicat去连接数据库,就不会出现上述的问题了。 

  • 相关阅读:
    sublime中node测试环境
    常用的win dos命令
    html area图片热点
    Git常用指令整理(Git Cheat Sheet)
    Java研发技术学习路线
    编程+工具基础教程|网站整理
    廖雪峰 Git 教程 + Git-Cheat-Sheet 学习总结
    现成的HTML5框架
    记录下自己学习的点滴-开始写博客
    linux查看日志文件
  • 原文地址:https://www.cnblogs.com/ranyihang/p/12540717.html
Copyright © 2011-2022 走看看