mysql密码过期导致连接不上mysql

这是一个陷阱,不要相信,不要做。
密码已过期。
首先检查您的密码是否已过期。
这不是连接池设置的问题。

mysql过期了需要注册

记得去年冬天,凌晨三点,我醒来时系统提示无法登录,因为服务器的MySQL密码已过期。
我当时正忙着其他事情,没有时间去处理这件事。
结果直到天亮才完成。
后来我想我可以主动一些,而不是每次都这么着急。

我的旧服务器是去年5 月1 6 日装的系统,mysql用户密码默认设置为每年过期一次。
我已在日历上标记了日期。
比如今年5 月1 6 日之前一个月。
开始更改数据库中的密码。
使用的命令是sql。
mysql.user SET 密码=OLD_PASSWORD('新密码') WHERE user='root'; 特权;
更改后,不要忘记将时间戳存储在用户表的password_last_changed 字段中。
Navicat 用于备份所有字段名称。
这会让你感觉更舒服。
两天前的3 月1 6 日,同样的事情再次发生。
等等还有一件事。
我发现有些服务器时间不正确。
更改密码后,最好使用 SELECT NOW() 确认时间。

您是否遇到过因密码过期而导致系统崩溃的情况?

数据库改了密码等不上怎么办

我对此很熟悉。
去年我们公司数据库密码被改了,结果我半下午都登录不了。
我跟着那些人转了一圈,终于明白了。

首先,您需要确认密码是否正确。
即使只看几个字母,如果漏掉了大小写字母和特殊符号,那就麻烦了。
我记得有一次我复制粘贴的时候,把密码后面的星号删掉了,它就卡在那里了。
仔细检查密码修改记录。

接下来,检查该帐户是否被阻止。
对于Oracle来说,如果你输入的密码错误次数过多,你的账户会被直接封掉。
您需要找到管理员使用alter username user unlock account;来解锁。
MySQL没问题,默认没有锁定,但是你应该检查用户权限,特别是@后面的地址。
root@localhost 和 root@% 是两个不同的东西。
我已经步入陷阱了。

最简单、最粗暴但有时有效的技巧是重新启动数据库服务。
Linux 上的 systemctl restart mysql,Windows 上的 net stop mysql && net start mysql。
有时候,这就是全部。

另外,更改密码后,必须运行 FLUSH PRIVILEGES;。
有几次我忘记了这一步,不得不重新登录来弥补。
想起来很有趣,但我忘了。

至于MySQL,我更改过一次密码。
原来是新版本的MySQL与旧工具不兼容,加密方式也不一样。
最后我又改回原来的加密方式,使用alter user 'root'@'%'login with mysql_native_password with 'newpassword';然后刷新特权;。

最糟糕的时候是我忘记了 root 密码。
我急得满头大汗,最后只好改配置文件。
Windows 版本为 my.ini,Linux 版本为 my.cnf。
将skip-grant表添加到其中,然后重新启动服务即可免密码登录。
登录后,对于 MySQL 5 .7 及以下版本,使用 update users setauthentication_string=password('newpassword') where user='root';,对于 MySQL 8 .0+,使用 alter user 'root'@'localhost'identified by 'newpassword';。
更改密码后,不要忘记删除权限;并在重新启动服务之前删除授权跳过表。

最后,不要忘记查看该应用程序。
我见过有人更改密码,但代码没有更改。
导致程序仍然使用旧密码连接数据库,造成了很大的麻烦。
更新应用程序中的所有密码,或者干脆删除所有加密密码并使用配置文件读取它们。

哦,顺便说一句,要在WAMP环境下更改PHPMyAdmin密码,需要更改config.inc.php文件中$cfg['Servers'][$i]['password']行的值。
另外,如果更改长时间不起作用,请检查是否已重新启动服务或是否可以通过初始化文件强制重置密码。

这些招数都是我通过陷阱编出来的。
我希望他们能帮助你。