重置密码
2024年1月6日验证
1.找到support-files下的服务
bash
# 查找mysql位置
which mysql
#/usr/local/bin/mysql
# 查找原始位置
ls -al /usr/local/bin | grep mysql
# 进入原始的为值找到support-files文件夹
# 注意路径要全,我这里是macos系统就是Cellar下
cd /usr/local/Cellar/mysql/8.2.0_1/support-files
# 停止之前的服务,2选1
sudo mysql.server stop # MacOS命令
sudo service mysql stop # Linux命令
# 运行mysql服务 跳过密码验证,记得sudo
sudo ./mysql.server --skip-grant-tables
2.无密码登录
bash
# 无密码登录
mysql -u root
# 删除密码,刷新,退出
mysql> UPDATE mysql.user SET authentication_string=null WHERE User='root';
mysql> flush privileges;
mysql> exit
# 重新登录
mysql -u root
3.修改密码
注意密码复杂度需要根据验证等级设置 ,后面附查看方法
默认中等:>=8位,大写字母+小写字母+特殊字符
sql
mysql>ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'Chris999000...';
mysql>flush privileges;
mysql>exit;
4. 验证是否修改成功
bash
# macos 操作
sudo mysql.server stop
## 正常启动
sudo mysql.server start
----------------------------------------
## linux下操作
sudo service mysql stop
sudo service mysql start
shell
mysql -u root -p
# 输入新的密码
mysql>
查看密码等级信息
sql
# 输入这个命令
mysql> SHOW VARIABLES LIKE 'validate_password%';
# 显示结果
+-------------------------------------------------+--------+
| Variable_name | Value |
+-------------------------------------------------+--------+
| validate_password.changed_characters_percentage | 0 |
| validate_password.check_user_name | ON |
| validate_password.dictionary_file | |
| validate_password.length | 8 |
| validate_password.mixed_case_count | 1 |
| validate_password.number_count | 1 |
| validate_password.policy | MEDIUM |
| validate_password.special_char_count | 1 |
+-------------------------------------------------+--------+
8 rows in set (0.02 sec)
Fix - MySQL ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
There are three levels of password validation policy enforced when Validate Password
plugin is enabled:
- LOW Length >= 8 characters.
- MEDIUM Length >= 8, numeric, mixed case, and special characters.
- STRONG Length >= 8, numeric, mixed case, special characters and dictionary file.