徙办 发表于 2025-12-7 04:50:03

Ubuntu下,MySQL密码遗失时修改密码

问题背景

MySQL密码连接不上,需要重置密码
解决方案

由于修改密码本身需要连接到数据库,因此需要另一个系统账号来登录数据库。
下面是相关步骤:
1. 首先执行以下命令
sudo cat /etc/mysql/debian.cnf获取到系统账号的密码(注意,禁止修改这个文件!!!)

2. 再输入以下命令
mysql -u debian-sys-maint -p密码即刚才截图中圈出的部分,不同机器密码不同,要按照实际的填写!
3. 此时进入mysql的命令行模式,分别输入以下命令(本文以将密码设置为root为例,第三条命令设置报错请移到文章最后)
use mysql;
update user set plugin="mysql_native_password";
update mysql.user set authentication_string=password('root') where user='root' and Host ='localhost';
flush privileges;
exit;4. 最后重启mysql,再连接mysql,验证是否修改成功
sudo service mysql restart
mysql -u root -p 
若在上述第三步修改密码时返回ERROR 1819 (HY000): Your password does not satisfy the current policy requirements,则说明由于密码不符合mysql密码策略,需要临时调整策略,或者使用符合策略的密码,前者操作步骤如下:
1. 在mysql命令行模式下,执行以下代码,查看mysql的当前密码策略
SHOW VARIABLES LIKE 'validate_password%';
其中的参数说明:
validate_password_check_user_name:默认为OFF,设置为ON的时候表示不能将密码设置成当前用户名或反向用户名,大小写敏感(即以root账号连接时不可设置密码为root或toor,但是可以设置为Root,无论被设置的是哪个账号)
validate_password_dictionary_file:默认为空,用于检查密码的字典文件的路径名
validate_password_length:默认为8,密码的最小长度,也就是说密码长度必须大于或等于该值
validate_password_mixed_case_count:默认为1,如果密码策略是中等或更强的,validate_password要求密码具有的小写和大写字符的最小数量。对于给定的这个值密码必须有那么多小写字符和那么多大写字符
validate_password_number_count:默认为1,密码必须包含的数字个数
validate_password_policy:默认为MEDIUM,密码强度检验等级,可以使用数值0、1、2或相应的符号值LOW、MEDIUM、STRONG来指定。(0/LOW:只检查长度;1/MEDIUM:检查长度、数字、大小写、特殊字符;2/STRONG:检查长度、数字、大小写、特殊字符、字典文件)
validate_password_special_char_count:默认为1,密码必须包含的特殊字符个数
注:validate_password_check_user_name和validate_password_policy的校验是相互独立的
2. 设置对应的策略值,如降低最小长度和校验强度等级
set global validate_password_length=4;
set global validate_password_policy=LOW;3. 再次执行之前失败的更改密码语句即可成功
4. 重启mysql服务之后,修改的策略会自动还原为默认值

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

盖彗云 发表于 2025-12-12 00:09:33

不错,里面软件多更新就更好了

赀倦 发表于 2025-12-22 05:07:50

分享、互助 让互联网精神温暖你我

仁夹篇 发表于 2025-12-28 06:31:06

谢谢分享,辛苦了

搁胱 发表于 2026-1-11 14:52:48

前排留名,哈哈哈

抑卞枯 发表于 2026-1-13 13:04:27

感谢分享

梭净挟 发表于 2026-1-16 19:02:57

很好很强大我过来先占个楼 待编辑

寥唏 发表于 2026-1-19 00:18:30

感谢发布原创作品,程序园因你更精彩

喙审 发表于 2026-1-21 02:51:15

这个好,看起来很实用

涅牵 发表于 2026-1-22 21:15:55

感谢分享,下载保存了,貌似很强大

赏勿 发表于 2026-1-23 12:26:16

不错,里面软件多更新就更好了

公西颖初 发表于 2026-1-23 13:31:25

热心回复!

骛扼铮 发表于 2026-1-26 09:24:09

收藏一下   不知道什么时候能用到

啦汇 发表于 2026-1-27 02:32:31

谢谢分享,试用一下

账暴 发表于 2026-1-28 08:01:11

收藏一下   不知道什么时候能用到

迁岂罚 发表于 2026-1-28 12:09:21

过来提前占个楼

汇干环 发表于 2026-2-3 10:15:52

感谢分享

垢峒 发表于 2026-2-4 05:55:39

谢谢分享,辛苦了

挡缭 发表于 2026-2-5 08:51:29

懂技术并乐意极积无私分享的人越来越少。珍惜

站竣凰 发表于 2026-2-8 10:57:42

谢谢分享,辛苦了
页: [1] 2
查看完整版本: Ubuntu下,MySQL密码遗失时修改密码