MySQL忘记密码
今天在写jdbc时很悲催的发现自己的MySQL密码忘记了,没有办法了,重新设置一下密码吧。
#先关闭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';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;
flush privileges;
# 完事之后记得把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 整个密码中至少要包含特殊字符的个数;