MySQL 8.0.11 版本安装 遇到的一个坑(密码加密规则被修改导致Navicat连接不上)

坑: 安装了MySQL之后,使用Navicat 进行连接抛出 #1251异常

 

序言: 安装MySQL已经很简单了,大家去网上百度就有很多安装的文档,这里就不重复书写了;默认当做大家已经安装了MySQL了

1): 配置环境变量(这一步已经配置了就可以直接略过!)

MySQL 8.0.11 版本安装 遇到的一个坑(密码加密规则被修改导致Navicat连接不上)_第1张图片

MySQL 8.0.11 版本安装 遇到的一个坑(密码加密规则被修改导致Navicat连接不上)_第2张图片

MySQL 8.0.11 版本安装 遇到的一个坑(密码加密规则被修改导致Navicat连接不上)_第3张图片

2): 配置完毕之后,进入CMD 窗口

PS:请用管理员身份打开CMD窗口

先启动MySQL

输入:  net start mysql     -- 启动mysql

MySQL 8.0.11 版本安装 遇到的一个坑(密码加密规则被修改导致Navicat连接不上)_第4张图片

输入: mysql -u root -p   --登录操作

然后再输入密码 (在安装MySQL的时候就可以设置默认密码)

MySQL 8.0.11 版本安装 遇到的一个坑(密码加密规则被修改导致Navicat连接不上)_第5张图片

再输入 (这一步是选择数据库)  : use mysql 

执行完上一步再次输入: select host, user, authentication_string, plugin from user;

MySQL 8.0.11 版本安装 遇到的一个坑(密码加密规则被修改导致Navicat连接不上)_第6张图片

表格显示出来,你们的 root 左边的那一栏应该是  localhost 

执行下一步: GRANT ALL ON *.* TO 'root'@'%';

GRANT ALL ON 表示所有权限,% 表示通配所有 host,可以访问远程。 这就是将root修改为 '%'

我最初在这里遇到了异常: MYSQL You are not allowed to create a user with GRANT

是因为我本身没有 host为% user为root 的记录;

那么可以自己更新一下里面的localhost的一条记录,将其修改为 host为%user为root的记录

update user set host = '%' where user = 'root' and host='localhost'; (SQL可以自己自定义,这一条是我使用的那条更新SQL语句)

 

如果上一步正常执行了那么 在输入这一行: FLUSH PRIVILEGES;    --刷新 ;

然后再执行 选择数据库那两步,查看root 用户左边那一栏是否已经修改为%了

          Navicat打不开,是因为MySQL8.0的密码加密规则已经修改了,所以导致Navicat打不开! 所以我们需要修改密码加密规则.

在CMD里面继续输入下一行;修改MySQL的密码加密规则(password 修改为你自己的密码)

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

然后你会的到 :  Query OK, 0 rows affected (0.10 sec)    --表示已经修改成功了!

如果上一步显示↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

   那么就说明你已经退出MySQL了,需要重新进行登录MySQL的那一系列操作!

如果是其他的报错,那么先多执行几次(我也不知道为什么,第一次报错,后面就正确,可能是别的什么问题吧)

 

然后再次 执行: FLUSH PRIVILEGES;   --刷新权限

然后就OK了~  完成! 可以使用Navicat正常连接了!

 

注明: 以上结果以及论文皆为本人个人观点,不一定全部正确!如果有错误欢迎指出,大家共同进步!

如需转载请注明出处!

你可能感兴趣的:(MySQL 8.0.11 版本安装 遇到的一个坑(密码加密规则被修改导致Navicat连接不上))