我的MySQL 5.5.60服务器中有一个名为“ user_creator”的用户。创建该用户的目的是添加新用户和数据库,并向该新创建的用户授予特权(“ so”和“ admin”,但权限较少)。
授予此“ user_creator”以下特权:
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, CREATE USER, EXECUTE, TRIGGER ON *.* TO 'user_creator'@'x.x.x.x' IDENTIFIED BY PASSWORD <secret> WITH GRANT OPTION
此配置运行良好。如果“ user_creator”使用...创建新用户...
GRANT SELECT, INSERT, UPDATE, DELETE ON foo.* TO 'foo_01'@'x.x.x.x' IDENTIFIED BY 'foo';
...有效。
但是,如果“ user_creator”想要向新用户授予EXECUTE特权,例如
GRANT SELECT, INSERT, UPDATE, DELETE, EXECUTE ON foo.* TO 'foo_01'@'x.x.x.x' IDENTIFIED BY 'foo';
发生错误:
第1行的错误1044(42000):用户的访问被拒绝 'user_creator'@'x.x.x.x'到数据库'foo';
有没有人想到“ user_creator”需要向新创建的用户授予EXECUTE特权的特权?我不想使用root或类似root的用户来执行此操作。