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,给不存在的用户授予权限会直接报错。- ERROR 1133 (42000): Can't find any matching row in the user table
复制代码 如果不启用 NO_AUTO_CREATE_USER,GRANT 语句自动创建用户时会发出警告。- 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 也被删除了,启用它会触发错误。 |
|