今天尝试安装了MySQL8.0版本,发现Navicat无法连接成功,如是果断百度。。。发现没找自己想要的结果,所以自己把我遇到的情况在这里跟大家分享一下:
1、首先我也是正常的情况使用【MySQL 8.0 Command Line Client】进入,输入密码,连接mysql.
ues mysql;
2、然后正常的授权 root 用户的所有权限并设置远程访问:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
结果却是:You are not allowed to create a user with GRANT;
3、百度之后也没找到如何处理,于是我通过MySQL Workbench添加授权用户
4、注意此时上图中的第三步操作中选择【Standard】加密模式,等你【apply】之后自动变成【caching_sha2_password】,
此时你以为添加成功了,采用Navicat连接,发现还是连接不上,报的错我忘了截图o(* ̄︶ ̄*)o,不管了,反正就是连不上,原因是因为加密方式不对导致的。
5、最后加工处理一下,即更改加密方式:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;
注意,‘password’改成你自己实际的密码
此时,你在使用【Navicat】连接就成功啦!