mysql报错Your password has expired的解决办法

mysql数据库一直用的很好,突然一天就登陆不了了,一直报错,不管用哪个用户登录,包括root用户登录都是提示密码过期,不能登录请使用一个可以登录的客户端登录。

从网上查了很多解决方案,但是都是必须登录mysql>命令行才能修改,但是我的情况很特殊,就是mysql -u root -p 之后输入密码也是提示密码过期不能登录,提示信息:ERROR 1862 (HY000): Your password has expired. To log in you must change it using a client that supports expired passwords.

也就是说root都登录不了当然不能执行任何命令了,网上又说使用mysqld –skip-grant-tables 命令启动mysql,我启动之后,使用mysql -u root 不需要密码进入mysql>命令行,但是还是不能执行修改密码的命令,提示没有权限。

基本上使用命令行已经无法找到解决办法了,最后看到有人说使用官方的客户端可以解决此问题,于是就上mysql官网http://www.mysql.com/products/workbench/ 下载了一个最新的客户端mysql workbench,安装完成之后,建立一个mysql远程数据库连接并保存,然后打开连接就提示修改密码了,修改密码之后问题解决,提示修改密码界面如下: