使名为 userguy 的新用户能够在数据库 db
上创建其他用户
创建用户
CREATE USER 'userguy'@'%' IDENTIFIED BY 'password';
他需要重新加载全局权限
GRANT CREATE USER, RELOAD ON *.* TO 'userguy'@'%';
然后你想在 db 上给他任何权利
GRANT EXECUTE, SELECT, SHOW VIEW, ALTER, ALTER ROUTINE, CREATE, CREATE ROUTINE, CREATE TEMPORARY TABLES, CREATE VIEW, DELETE, DROP, EVENT, INDEX, INSERT, REFERENCES, TRIGGER, UPDATE, LOCK TABLES ON `db`.* TO 'userguy'@'%' WITH GRANT OPTION;
最后刷新
FLUSH PRIVILEGES;
这应该可以完成工作。
更新:
对不起,我没有仔细阅读这个问题(怪罪咖啡)。如果用户还应该创建新数据库,他还需要全局 CREATE 权限,并且要为他创建的数据库创建用户,他还需要 CREATE USER
GRANT CREATE, CREATE USER, SELECT, RELOAD ON *.* TO 'userguy'@'%';
在我看来,不需要全局 GRANT 权限