想要创建一个mysql用户,该用户可以创建新的数据库用户
我正在创建一个SAAS网站,每个新帐户的创建都应该有:想要创建一个mysql用户,该用户可以创建新的数据库用户,mysql,mariadb,Mysql,Mariadb,我正在创建一个SAAS网站,每个新帐户的创建都应该有: 根据我的php代码动态创建一个新数据库 一个新的MySQL用户从我的PHP代码中动态创建,并被授予对新数据库的权限 我的问题是:如何创建一个有权限执行这些操作的MySQL用户(创建db、创建用户、授予权限) 但需要注意的是:我希望这个MySQL用户不能显示或操作任何其他非他创建的数据库 注意:我有一个具有WHM访问权限的服务器。允许名为userguy的新用户在数据库db上创建其他用户 创建用户 CREATE USER 'userguy'
- 根据我的php代码动态创建一个新数据库
- 一个新的MySQL用户从我的PHP代码中动态创建,并被授予对新数据库的权限
注意:我有一个具有WHM访问权限的服务器。允许名为userguy的新用户在数据库db上创建其他用户 创建用户
CREATE USER 'userguy'@'%' IDENTIFIED BY 'password';
他需要重装全球权利
GRANT CREATE USER, RELOAD ON *.* TO 'userguy'@'%';
那你想给他什么样的权利
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;
这应该可以完成任务
更新:对不起,我没有仔细阅读这个问题(怪咖啡)。如果用户还应该创建新数据库,那么他还需要全局创建权限,并且为了为他创建的数据库创建用户,他还需要创建用户
GRANT CREATE, CREATE USER, SELECT, RELOAD ON *.* TO 'userguy'@'%';
我认为不需要全局授予特权我在以下链接中找到了问题的主要答案: 通过使用: 授予
testuser%
上的所有权限*到“testuser”@“%”
这将允许testuser从testuser_uu开始创建数据库,并对其拥有所有特权
他也不会拥有其他数据库的特权。
我可以授予他创建用户权限
这就是问题所在。不,此用户将无法创建数据库,因此此答案不正确。@如果您阅读第一行“使名为userguy的新用户能够在数据库数据库上创建其他用户”,则阴影“…创建、创建用户、选择、重新加载就足够了。”