限制MySQL用户只能注册一个数据库

5

我遇到了一个问题:

我在 MySQL 中创建了一个新用户,该用户拥有插入、删除、更新、选择和创建权限。现在我希望如果有人使用这个新用户注册数据库,他只能从我的数据库列表中注册一个数据库。

限制新用户只能从我的数据库列表中注册一个数据库。

谢谢!

2个回答

11

你是在询问如何通过脚本进行操作吗?在MySQL管理员中,您可以按数据库/模式授予权限,用户仅能连接至拥有SELECT权限的数据库。

如果您想通过命令行实现而非图形界面,您可以参考文档(http://dev.mysql.com/doc/refman/5.1/en/grant.html):

GRANT SELECT, INSERT ON mydb.* TO 'someuser'@'somehost';

上述命令授予“someuser”用户从“somehost”连接到包含在“mydb”数据库中的所有表的SELECT和INSERT权限。当然,您可以更详细地设置单个表的权限,例如授予从任何主机连接的权限。

或者您是否正在寻找通过phpmyadmin进行此操作的方法?在那里,您也可以按数据库或总体授予权限,但正如我所经历的那样,您必须仔细查看,因为有时候不会立即看到这一点,有时会意外地为所有数据库设置权限。

最好的方法可能是删除所有权限,然后从头开始,以便您不会遗漏任何权限(适用于MySQL 4.1.2及更高版本)。

REVOKE ALL PRIVILEGES, GRANT OPTION FROM user 

-3
REVOKE INSERT ON SOMEDB.* FROM 'username'@'USER_IP';

附加解释将会更好。 - DocRattie
这甚至无法限制用户访问数据库? - Steam gamer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接