允许MySQL用户授予自己对新数据库的特权

Gri*_*... 5 mysql privileges

我有一个MySQL用户,我们称其为Tom。Tom具有全局的CREATE和SHOW DATABASES特权,并带有'GRANT'选项。根据数据库为用户分配SELECT,INSERT,UPDATE和DELETE特权。但是,在Tom创建新数据库之后,尽管具有全局GRANT选项,但他无法设置自己的SELECT等特权。错误是(可以预测):

CREATE DATABASE `my_new_db`; -- this is fine
GRANT SELECT , INSERT , UPDATE , DELETE ON `my_new_db` . * TO 'Tom'@'%';
*Access denied for user 'Tom'@'%' to database 'my_new_db'*
Run Code Online (Sandbox Code Playgroud)

这是通过PHP完成的,但是我怀疑这会有很大的不同。

有人告诉我我做错了!Ta =]

kbo*_*ino 2

您无法授予您没有的权限。Tom 需要具有全局 SELECT、INSERT、UPDATE 和 DELETE 权限才能将这些权限授予其他人。