navicat连接mysql8.0报错2059,以及mysql连数据库的时候报错1396(HY000)
今天装了一个MySql8.0版本的,由于跟5.0的加密规则不一样,连接会报错2059
【解决方法】
-
没有配置mysql环境变量的话,进入mysql安装的bin目录,进入cmd命令窗口(win+R)
若配置环境变量随便在任何地方进入cmd命令窗口(win+R)
-
运行mysql -uroot -p命令登陆mysql
密码是安装mysql时设置的密码 -
输入ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘123456’;(root是用户名,localhost是ip地址127.0.0.1都是特指本机,mysql_native_password是旧的密码验证机制,123456是密码,最后别忘了分号;)
我的出现如下问题:
-
查看root用户的权限
mysql>select user,host from user
5. 注意:我的root的host是’%‘而不是’localhost’
'%‘是我之前改的root的权限是支持远程连接,默认是’localhost’,只支持本地访问,只需要将上面的命令改为:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';