找回密码
 新建账号

MySQL 'NO_AUTO_CREATE_USER' sql mode was not set.

[复制链接]
 楼主| 大郎 发表于 2026-10-21 20:50 | 显示全部楼层 |阅读模式
2026-10-21T11:56:45.930695Z 0 [Warning] 'NO_AUTO_CREATE_USER' sql mode was not set.
MySQL 的 GRANT 语句给不存在的用户授予权限时会自动创建这个用户,但自动创建的用户没有密码,会带来安全风险。
MySQL 5.6 引入了 NO_AUTO_CREATE_USER 这个 SQL mode 来禁止 GRANT 语句自动创建不存在的用户。
MySQL 5.7.6+ 默认启用 NO_AUTO_CREATE_USER,给不存在的用户授予权限会直接报错。
  1. ERROR 1133 (42000): Can't find any matching row in the user table
复制代码
如果不启用 NO_AUTO_CREATE_USER,GRANT 语句自动创建用户时会发出警告。
  1. Warning (Code 1287): Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement.
复制代码
MySQL 8.0+ 不再支持 GRANT 语句自动创建用户,NO_AUTO_CREATE_USER GRANT 也被删除了,启用它会触发错误。

手机版|轻松e站

GMT+8, 2026-10-23 07:13

快速回复 返回顶部 返回列表