本文主要是介绍Mysql 数据库ERROR 1820 (HY000): You must reset your password using ALTER USER 解决办法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Mysql 5.7数据库原来一直都能正常访问,突然访问不了,查看日志提示数据库需要修改密码,
具体解决办法如下操作:
Windows 下:
mysql的bin目录下,
mysql>use mysql;
mysql>mysql -uroot -p密码;
判断“password_expired”是否为Y
mysql> select authentication_string,password_expired from user where user='root';
判断“default_password_lifetime”是否为0
mysql> show VARIABLES like "%password%";
“password_expired”为Y的解决方法
修改“password_expired”的值:
update user set authenticatio_string=password('123456'),password_expired='N' where user='root';
“default_password_lifetime”为0解决方法
修改“default_password_lifetime”的值:
mysql> set GLOBAL default_password_lifetime=0;
重启mysql:
net restart mysqld
Linux下:
1、查找问题
1.1、跳过数据库权限验证:
vim /etc/my.cnf
在my.cnf文件最后添加skip-grant-tables并保存
1.2、重启mysql:
sudo systemctl restart mysqld
mysql> use mysql;
1.3、判断“password_expired”是否为Y
mysql> select authentication_string,password_expired from user where user='root';
1.4、判断“default_password_lifetime”是否为0
mysql> show VARIABLES like "%password%";
2、“password_expired”为Y的解决方法
2.1、修改“password_expired”的值:
update user set authenticatio_string=password('123456'),password_expired='N' where user='root';
2.2、恢复数据库权限验证:
vim /etc/my.cnf
在my.cnf文件最后去掉skip-grant-tables并保存
2.3、重启mysql:
sudo systemctl restart mysqld
3、“default_password_lifetime”为0解决方法
3.1、修改“default_password_lifetime”的值:
mysql> set GLOBAL default_password_lifetime=0;
3.2、恢复数据库权限验证:
vim /etc/my.cnf
在my.cnf文件最后去掉skip-grant-tables并保存
3.3、重启mysql:
sudo systemctl restart mysqld
原文链接:https://blog.csdn.net/shirenkan/article/details/105321160
这篇关于Mysql 数据库ERROR 1820 (HY000): You must reset your password using ALTER USER 解决办法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!