MySQL执行ALTER USER命令失败,寻求问题排查解决方案
解决MySQL
caching_sha2_password 认证插件问题时的ALTER USER执行失败排查线索 针对你遇到的Unable to load authentication plugin 'caching_sha2_password'错误,以及执行ALTER USER命令失败的情况,可从以下方向排查:
一、针对1 factor authentication method does not match against authentication policy错误
- 查看当前全局认证策略配置:
这个变量定义了MySQL允许的用户认证因子组合,如果返回值包含多个因子(如SELECT @@authentication_policy;PASSWORD,2FA),说明系统要求必须使用多因子认证,单独设置mysql_native_password不符合策略要求。 - 若需调整为仅密码认证,执行以下命令(需全局权限,若要永久生效需在my.cnf/my.ini中添加
authentication_policy = PASSWORD后重启服务):SET GLOBAL authentication_policy = 'PASSWORD';
二、针对ALTER USER 'root'@'localhost'影响0行的问题
- 确认
root@localhost用户是否存在:
如果查询无结果,说明你的root账号对应的host并非SELECT user, host FROM mysql.user WHERE user = 'root' AND host = 'localhost';localhost(可能是%或具体IP),因此该命令无法匹配到用户。
三、针对ALTER USER 'root'@'%'执行失败的问题
- 先确认该用户存在并查看当前认证插件:
SELECT user, host, plugin FROM mysql.user WHERE user = 'root' AND host = '%'; - 检查账号是否被锁定:
SELECT user, host, account_locked FROM mysql.user WHERE user = 'root' AND host = '%'; - 验证密码是否符合当前密码策略:
若密码长度、复杂度不满足策略要求,需更换符合要求的密码,或调整密码策略参数(如SHOW VARIABLES LIKE 'validate_password%';validate_password.length、validate_password.policy等)。
编辑:我认为唯一解决方案是卸载最新版MySQL,安装可用的旧版本,此帖关闭。
内容的提问来源于stack exchange,提问作者Walter
相关产品推荐
相关产品推荐

