MariaDB执行ALTER USER修改密码报语法错误如何修复
错误原因
你执行的是MySQL专属的ALTER USER语法,和你当前使用的10.3.22版本MariaDB不兼容。MariaDB 10.4之前的版本不支持WITH 认证插件 BY 密码的写法,因此触发语法报错。
修正方案
以下两种写法都可以正常执行:
- 如需明确指定使用mysql_native_password认证插件,使用MariaDB专属的
VIA关键字替换WITH:
ALTER USER 'root'@'localhost' IDENTIFIED VIA mysql_native_password USING PASSWORD('你的新密码');
- 无需指定插件的场景下,可直接使用兼容性更高的SET PASSWORD语法,不需要适配版本差异:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('你的新密码');
修改完成后执行下方命令刷新权限,即可使新密码生效:
FLUSH PRIVILEGES;
内容的提问来源于stack exchange,提问作者ugar2000
相关产品推荐
相关产品推荐

