mysql创建新库以及解决版本过高8.0以上导致navicat无法连接的问题

昨天运营大佬给了一个云上的服务器 mysql已经装上去了 用来给我做测试使用

软件环境是:  CentOS 7.4 +  Mysql 8.0.20

于是我准备创建几个数据库 分别创建不用的用户登录访问 最后使用navicat连接

步骤以及命令如下:

打开我的正版付费xshell 新建了一个云上服务器的会话 

登录进入服务器后再进入mysql命令行 命令如下:

mysql -uroot -padmin;    //-u和-p后面不用空格直接拼账号密码

 

select version();  //查询数据库的版本号

 

 

show databases;  //查询已有的数据库

 

 

 

create database xxxx ;  //创建一个名字叫xxxx的数据库

show databases; //再查询一下是否创建成功

CREATE USER 'user01'@'%'  IDENTIFIED BY '123456'; //创建用户user01 密码是123456   %通配表示任何IP都可以连接这个数据库

GRANT ALL ON xxxx .*  TO 'user01'@'%'  //给xxxx数据库  用户访问授权  %通配表示任何IP都可以连接这个数据库

 

到这里都是非常顺利  然后navicat链接到云上数据库的时候 报错了  报错信息如下:

Client does not support authentication protocol requested by server; consider upgrading MySQL client

查了下  是mysql 8.0以上版本的加密规则是caching_sha2_password  

mysql8 之前的版本中加密规则是mysql_native_password

所以需要修改这个加密规则  命令如下

 

ALTER USER 'user01'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;  // 这里的password是你正在使用的密码

ALTER USER 'user01'@'%' IDENTIFIED WITH mysql_native_password BY '123456';  //  修改加密方法 更新一下用户的密码这里的password为你修改的新密码。

FLUSH PRIVILEGES;   // 刷新权限,使自己的修改生效。

 

posted on 2020-10-23 09:11  の再见二丁目  阅读(471)  评论(0)    收藏  举报