0%

MySQL忘记密码

MySQL忘记密码

今天在写jdbc时很悲催的发现自己的MySQL密码忘记了,没有办法了,重新设置一下密码吧。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#先关闭mysql服务
mysql.server stop
# 跳过权限检验 在使用该命令的时候要确保mysql服务是关闭的,不然是无法正常执行的
mysqld --skip-grant-tables
# 然后就可以进mysql了
mysql
# 先看一下密码的策略
SHOW VARIABLES LIKE 'validate_password%';
#我使用的是mysql8 初始的密码策略要求的比较高 所以我要调整一下
# 设置密码强度
set global validate_password.policy=LOW;
# 设置密码长度
set global validate_password.length=6;
# 刷新系统权限相关表
FLUSH PRIVILEGES;
# 设置新的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

# 完事之后记得把mysqld --skip-grant-tables进程杀死

密码策略的字段说明

  • validate_password.length 固定密码的总长度;

  • validate_password.dictionary_file 指定密码验证的文件路径;

  • validate_password_mixed_case_count 整个密码中至少要包含大/小写字母的总个数;

  • validate_password.number_count 整个密码中至少要包含阿拉伯数字的个数;

  • validate_password.policy 指定密码的强度验证等级,默认为 MEDIUM;

    0/LOW:只验证长度;

    1/MEDIUM:验证长度、数字、大小写、特殊字符;

    2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;

  • validate_password.special_char_count 整个密码中至少要包含特殊字符的个数;