分享一下navicat连接MySQL8.0时的一些坑,一开始的时候按照网上的搞了好久,但是没有解决,也不是说网上别人分享的不对,只是要结合在一起才能把问题解决,闲话少说
安装好MySaQL后(不是解压版,所以不需要再配置环境啥的),我就用直接用navicat连接,填好账号密码和IP地址(主机名)后测试连接出现错误1251
上网搜索发现要更改加密方式,因为mysql8.0跟mysql5.0的加密方式不一样
win+r ,输入cmd,打开命令行
输入mysql -u root -p,再输入密码登录mysql
登录成功没有报错后,输入use mysql,进入mysql数据库
接下来按照参考的输入:ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;,报错1396
没办法继续问度娘,找到一个说是远程访问权限不正确
参考:navicat连接mysql报错1251解决方案《亲测可行!!!》感谢!
登录mysql后,select host,user from user;(注意分号别错了,一定要在英文(半角)下输入),查看自己的远程访问是什么,我这里是%
所以先后输入:
1)ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; (其中password是自己的root账户的密码)
2)ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
3)flush privileges;
最后再用navicat连接mysql,success