Navicat for MYSQL连接数据库密码过期问题

Navicat for MYSQL连接数据库密码过期问题

问题提示:1862 - Your password has expired.To log in you must change it using a client that suppor

问题截图:

Navicat for MYSQL连接数据库密码过期问题_第1张图片

 

解决办法:Win+R输入service.msc,然后找到MYSQL57,在左侧找到停止此服务;

停止后,右键点击MYSQL57,选择属性,将可执行文件的路径复制下来,C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" MySQL57

Navicat for MYSQL连接数据库密码过期问题_第2张图片

 

路径找到后,先放着,然后,Win+R键,输入cmd,进入管理员后台,然后输入 cd C:\Program Files\MySQL\MySQL Server 5.7\bin,进入mysql的bin目录,然后输入mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" --skip-grant-tables,使数据库处于取消密码登录状态,假如此时提示mysqlp不属于内部命令的话,那么就要运行mysqlp --install,提示Service successfully installed,就算成功了。然后关闭刚刚打开的管理员后台,重新进入bin目录,运行mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" --skip-grant-tables就没问题了,运行成功的状态是红框部分是个闪烁的小横杠。

 Navicat for MYSQL连接数据库密码过期问题_第3张图片

 

上面那个管理员后台不关闭的状态下,再打开一个新的后台(Win+R 之后输入cmd),然后输入mysql -uroot -p,让输入密码的时候直接回车

Navicat for MYSQL连接数据库密码过期问题_第4张图片

 

进入之后,输入flush privileges;刷新MySQL的系统权限相关表,这里有三种方法(粘贴复制到后台管理系统的时候,记得把单引号都用英文单引号替换一下):

第一种:set password=password (‘设置的密码’);+回车,用于设置密码,假如想要固化密码,让其永久不失效,那么就可以输入ALTER USER ‘root’@‘localhost’ PASSWORD EXPIRE NEVER,后面几种方法也是可以运行这个方法的。

第二种:ALTER USER root@’localhost’ IDENTIFIED BY ‘设置的密码,

第三种:UPDATE mysql.user SET authentication_string = PASSWORD(’设置的密码’) WHERE User = root’ AND Host = localhost’;

Navicat for MYSQL连接数据库密码过期问题_第5张图片

 

显示OK就成功了,最后flush privileges;刷新一下MySQL的系统权限相关表,就可以用更改后的密码登录了。登录成功后,在Navicat for MYSQL上,输入更改后的密码,测试连接,连接成功就可以使用了。

你可能感兴趣的:(mysql,mysql)