修改MYSQL8.0密码不满足当前策略要求解决方法

本文介绍了当遇到MySQL8.0密码策略要求过高导致无法修改密码的问题时,如何降低策略并修改密码长度。同时,针对MySQL8.0与之前版本加密规则的不同,提供了将加密方式更改为mysql_native_password的方法,以及更新用户密码和刷新权限的步骤。

修改MYSQL8.0密码不满足当前策略要求解决方法

错误一:
在这里插入图片描述

原因:密码不满足当前策略要求。

解决:

在mysql中输入:

SHOW VARIABLES LIKE 'validate_password%';

在这里插入图片描述
可以看到当前密码长度要求为8,安全等级为MEDIUM,我们把长度改为4,等级改为LOW

8.0版本输入命令:

set global validate_password.policy=LOW;
set global validate_password.length=4;

5.7版本输入命令:

set global validate_password_policy=LOW;
set global validate_password_length=4;

结果:
在这里插入图片描述
错误二:
在这里插入图片描述
原因:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password

解决:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #更改加密方式
 
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新用户密码
 
FLUSH PRIVILEGES; #刷新权限
### 如何在 MySQL 8.0 中设置和管理密码 #### 设置初始密码 对于初次安装后的 MySQL 服务器,如果尚未设定 root 用户的密码,则可以通过如下方式来完成初始化: 通过命令提示符以管理员身份运行 CMD 并输入 `net start mysql` 来启动 MySQL 服务[^4]。 连接至 MySQL 数据库,此时因为还没有设置过任何密码,所以在提示输入现有密码时可以直接按 Enter 键跳过: ```sql mysql -u root -p ``` 一旦进入了 MySQL 控制台环境之后,就可以利用 SQL 语句更改 root 账户的密码了。这里给出一个例子,其中 `'123456'` 是新指定的密码字符串;当然,在实际操作过程中应当替换为自己想要的安全强度足够的密码: ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; FLUSH PRIVILEGES; ``` 这两条指令分别用于更新用户的认证信息以及刷新授权表单使最新的改动生效。 #### 修改已存在的密码 当忘记了现有的管理员账户(通常是 root)的登录凭证而无法正常访问数据库实例的时候,可以采取安全模式下重置的方法来进行处理。具体步骤包括但限于停止当前正在运行的服务进程、编辑配置文件临时禁用验证机制以便能够绕开原有的保护措施进入系统内部执行必要的维护工作最后再恢复正常运作状态等一系列动作[^3]。 为了简化流程并减少潜在风险,官方文档推荐了一种更为简便的方式——即借助于 mysqld_safe 工具配合 --init-file 参数实现自动化脚本注入从而达到相同目的的效果。过在此之前同样需要先暂停掉目标实例以免造成冲突干扰[^1]。 #### 配置密码策略 除了简单的创建/变更之外,MySQL 自身也提供了丰富的选项让用户可以根据需求定制化自己的安全性偏好。比如启用强校验插件 enforce_password_policy 可以为用户提供更加严格的约束条件确保所选字符组合满足一定的复杂度标准[^2]。 这通常涉及到修改 my.cnf 或者 my.ini 文件中的相应部分加入类似下面这样的参数定义: ```ini [mysqld] validate_password=ON default_authentication_plugin=mysql_native_password password_history=5 password_reuse_interval=365 ``` 这些设置项涵盖了从历史记录追踪到重复使用间隔等多个方面旨在帮助用户构建起一套完善的账号管理体系防止因疏忽大意而导致必要的安全隐患发生。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值