mysql 5.7密码策略

本文介绍如何调整MySQL5.7中密码的复杂度设置,包括查看当前配置、卸载并重新安装验证插件的方法,以实现密码策略的灵活定制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

刚装上5.7  改个密码也得要复杂度


看看

root@localhost [(none)]> show global variables like '%validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password_check_user_name    | OFF    |
| 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      |
+--------------------------------------+--------+
7 rows in set (0.00 sec)


卸了这个插件

root@localhost [(none)]> uninstall plugin validate_password ;



在看看
root@localhost [(none)]>  show global variables like '%validate_password%';
Empty set (0.00 sec)


上线的时候在装上

INSTALL PLUGIN validate_password SONAME 'validate_password.so';


### 如何在 MacOS 上重置或修改 MySQL 5.7 的 root 用户密码 #### 方法一:通过跳过权限表的方式重置密码 1. **停止 MySQL 服务** 需要先停止正在运行的 MySQL 服务。可以通过以下命令实现: ```bash sudo /usr/local/mysql/support-files/mysql.server stop ``` 2. **启动 MySQL 跳过权限验证** 使用 `--skip-grant-tables` 参数来启动 MySQL,这会允许管理员无需密码即可访问数据库。 ```bash sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables & ``` 此时不要关闭终端窗口。 3. **连接到 MySQL 并更新密码** 打开一个新的终端窗口并执行以下命令以无密码方式登录 MySQL: ```bash sudo /usr/local/mysql/bin/mysql -u root ``` 登录后切换至 `mysql` 数据库,并更新 `root` 用户的密码: ```sql use mysql; update user set authentication_string=PASSWORD('新的密码') where User='root'; flush privileges; ``` 如果遇到错误提示需要更改密码策略,则需额外执行以下命令[^2]: ```sql SET PASSWORD = PASSWORD('新的密码'); ``` 4. **重启 MySQL 服务** 完成以上操作后,重新正常启动 MySQL 服务: ```bash sudo killall mysqld sudo /usr/local/mysql/support-files/mysql.server start ``` --- #### 方法二:编辑 my.cnf 文件临时禁用授权表 1. **编辑 MySQL 配置文件** 修改 MySQL 的配置文件 `/etc/my.cnf` 或者 `/usr/local/etc/my.cnf`,添加以下内容: ```ini [mysqld] skip-grant-tables ``` 保存文件后退出编辑器。 2. **重启系统和服务** 为了使配置生效,可能需要重启计算机或者手动重启 MySQL 服务: ```bash sudo reboot ``` 3. **直接登录 MySQL 更新密码** 在不提供任何密码的情况下直接登录 MySQL 控制台: ```bash mysql -u root ``` 接下来按照之前的方法更新 `root` 密码: ```sql use mysql; update user set authentication_string=PASSWORD('新的密码') where User='root'; flush privileges; exit; ``` 4. **还原配置文件并重启服务** 将刚才修改过的 `my.cnf` 文件恢复原状(删除 `skip-grant-tables` 行),然后再次重启 MySQL 服务: ```bash sudo /usr/local/mysql/support-files/mysql.server restart ``` --- #### 注意事项 - 对于某些较新的 macOS 版本,路径可能会有所不同,请确认实际安装位置后再调整相应指令。 - 若尝试多次仍无法解决问题,建议卸载现有版本并重新安装最新稳定版 MySQL,同时记录好初始设定好的超级管理账户凭证信息以防丢失[^3]。 ```python print("完成上述步骤后可正常使用MySQL服务") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值