开发者社区> 问答> 正文

客户端工具登陆mysql提示your password has expired ,to log in

"

我是用命令以root用户名和密码登录到mysql能成功

但是使用navicat以root用户名和密码链接到mysql,则提示密码过期

 

这是什么原因?

 

" ![image.png](https://ucc.alicdn.com/pic/developer-ecology/3b791df8283f4346bc7520c4dce19257.png)

展开
收起
python小菜菜 2020-06-01 19:42:07 979 0
1 条回答
写回答
取消 提交回答
  • "

    你的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)
    2020-06-01 19:42:14
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PostgresChina2018_赖思超_PostgreSQL10_hash索引的WAL日志修改版final 立即下载
Kubernetes下日志实时采集、存储与计算实践 立即下载
日志数据采集与分析对接 立即下载

相关镜像