ERROR 1819 是 MySQL 服务端 validate_password 插件拦截所致,需执行 SHOW VARIABLES LIKE 'validate_password%'; 查策略,按要求设合规密码(如 MyP@ssw0rd123)或临时调低策略(SET GLOBAL validate_password.policy=LOW)。

ALTER USER 执行报 ERROR 1819 怎么办
这是 MySQL 服务端拦截的密码策略错误,不是 phpMyAdmin 界面问题。只要看到 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements,说明 validate_password 插件已启用,且你输的密码没达标。
别改 phpMyAdmin 配置,直接查策略再换密码:
- 进 phpMyAdmin 的 SQL 标签页,执行
SHOW VARIABLES LIKE 'validate_password%';,重点看validate_password.length、validate_password.mixed_case_count、validate_password.number_count、validate_password.special_char_count - 常见组合是:长度 ≥8、大小写字母各 ≥1、数字 ≥1、特殊符号 ≥1。例如
MyP@ssw0rd123通常能过 - 如果策略太严又没权限调低,临时用 root 执行
SET GLOBAL validate_password.length = 6;(需 SUPER 权限),但不推荐长期关闭校验
phpMyAdmin 5.1 新建用户界面输完密码点执行没反应
不是卡死,是 MySQL 拒绝了请求,但 phpMyAdmin 没把错误透出来。它在后台执行的是类似 CREATE USER 'xxx'@'localhost' IDENTIFIED BY 'yyy'; + GRANT ...,其中任一语句失败都会静默中断。
绕过界面直写 SQL 更可靠:
- 切到 SQL 标签页,手动执行:
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'StrongP@ss123'; - 再补授权:
GRANT SELECT, INSERT, UPDATE, DELETE ON mydb.* TO 'newuser'@'localhost'; - 最后别忘:
FLUSH PRIVILEGES; - 如果提示
FUNCTION does not exist,说明用了废弃的PASSWORD(),确认你没在密码里写PASSWORD('xxx')这种老写法
MySQL 8.0+ 下新建用户后登不上 phpMyAdmin
新建用户默认用 caching_sha2_password 插件,而 phpMyAdmin 5.1 默认只支持 mysql_native_password。账号创建成功了,但认证方式不兼容,导致登录页卡住或报 The server requested authentication method unknown to the client。
必须显式指定认证插件:
- 建用户时加
IDENTIFIED WITH mysql_native_password BY 'xxx',例如:CREATE USER 'webapp'@'localhost' IDENTIFIED WITH mysql_native_password BY 'A1#b2$c3'; - 已有用户可改:
ALTER USER 'webapp'@'localhost' IDENTIFIED WITH mysql_native_password BY 'A1#b2$c3'; - 确认生效:
SELECT User, Host, plugin FROM mysql.user WHERE User = 'webapp';,plugin 列应为mysql_native_password
密码含单引号或反斜杠导致新建失败
phpMyAdmin 表单提交时会做基础 SQL 转义,但不彻底。如果你输的密码是 O'Reilly\2023!,中间的 ' 和 \ 很可能被截断或解析出错,最终执行的 SQL 变成语法错误。
安全做法只有两个:
- 密码里避开单引号
'、双引号"、反斜杠\、分号;—— 这些字符在 SQL 字符串上下文中最危险 - 实在要用,先在纯文本编辑器里写好完整密码,再全选粘贴进输入框;不要在输入框里手动敲带这些符号的密码
真正容易被忽略的是 host 匹配和认证插件这两层——密码再合规,插件不对或 @'localhost' 写成 @'127.0.0.1',照样登不进去。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











