阻止访问数据库中的Mysql表

时间:2013-08-09 10:37:44

标签: php mysql database privileges

我有一个网站和一个包含5个表的mysql数据库。其中一个包括大约500个用户电子邮件。我正在外包新功能的开发,我想阻止开发人员访问包含用户电子邮件的表。开发人员可以访问整个数据库,因为他需要添加新表,但我想阻止他访问用户的电子邮件表。

有什么办法吗?

4 个答案:

答案 0 :(得分:2)

MySQL有GRANT / REVOKE个语句,用于根据连接的用户限制对某些表的访问权限。

您的数据库中可能需要create a new user REVOKE您要为该用户锁定的表的不必要权限。

以下是MySQL支持的完整权限列表:http://dev.mysql.com/doc/refman/5.0/en/grant.html#grant-privileges

答案 1 :(得分:0)

使用REVOKE权限给该用户http://dev.mysql.com/doc/refman/5.0/en/revoke.html

REVOKE ALL PRIVILEGES ON db.emails FROM 'user'@'host';

答案 2 :(得分:0)

我认为没有办法限制用户访问某些表,但你可以限制他只使用insert和update命令而不是select命令

CREATE USER 'test_user'@'localhost' IDENTIFIED BY 'password';
GRANT INSERT, UPDATE ON `secure_login`.* TO 'test_user'@'localhost';

答案 3 :(得分:0)

我的建议是将您的应用程序复制到开发环境,用loremipsum替换电子邮件。这是解决此问题的专业(且唯一可靠)方法。它还允许缩放。

否则,只需克服它并确保您有严格的保密协议。