"
我是用命令以root用户名和密码登录到mysql能成功
但是使用navicat以root用户名和密码链接到mysql,则提示密码过期
这是什么原因?
" ![image.png](https://ucc.alicdn.com/pic/developer-ecology/3b791df8283f4346bc7520c4dce19257.png)
"
你的server是5.7.9,MySQL 5.7在安全性上增加了密码过期机制。
你可以打开/etc/my.cnf 文件:
[mysqld] skip-grant-tables
增加 skip-grant-tables 配置,保存;
然后连接mysql:
$ mysql -u root -p
> use mysql
设置password不过期:
> update user set password_expired='N' where user='root';
> flush privileges;
> quit
之后记得把之前修改/etc/my.cnf的skip-grant-tables去掉,重启mysql服务即可。
######我觉的你这个还是先在命令行登陆MySQL,查看下user表,里面的host,user,password_expired,password_lifetime这四个字段,你应该会有所发现。
" ![image.png](https://ucc.alicdn.com/pic/developer-ecology/7d534b4c30be4d6782c254cfe63dee55.png)版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。