2010-11-04 57 views
1

我在朋友之间建立了共享Web服务器设置。每个网站都有自己的数据库。我希望能够将每个数据库的用户管理委派给数据库的所有者。这样他们就可以为他们的Web应用程序创建账户来访问他们特定的表格,但如果特定的应用程序受到攻击,它们也不会四处游荡。mysql:具有授权选项的数据库特定用户权限委托

为了进一步通过举例的方式澄清一下,我想是这样的:

Database server at : db.hosting.coop 
db root user : [email protected] <full permissions as root> 

website and database 1: foo.com 
foo.com db user : [email protected] <full permissions on database foo, with ability to grant user access to database foo, granted by [email protected]> 
foo.coms rails app db user : [email protected] <select,insert,update,delete on foo.*, granted by [email protected]> 

website and database 2: bar.com 
bar.com db user : [email protected]% <full permissions on database foo, with grant, granted by [email protected]> 
bar.coms php app db user : [email protected] <select,insert,update,delete on bar.*, granted by [email protected]> 

回答

1

以root身份:

GRANT CREATE USER ON *.* TO 'foo'@'%'; 
GRANT ALL PRIVILEGES ON `foo.com`.* TO 'foo'@'%' WITH GRANT OPTION; 

为Foo:

CREATE USER 'foorails'@'%' IDENTIFIED BY 'secret'; 
GRANT SELECT ON `foo.com`.* TO 'foorails'@'%' 
与他人

同样

+0

辉煌。谢谢。完全按照我的希望工作。 – voxobscuro 2010-11-05 04:48:34