我有一个网站和一个包含5个表的mysql数据库。其中一个包括大约500个用户电子邮件。我正在外包新功能的开发,我想阻止开发人员访问包含用户电子邮件的表。开发人员可以访问整个数据库,因为他需要添加新表,但我想阻止他访问用户的电子邮件表。
有什么办法吗?
答案 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替换电子邮件。这是解决此问题的专业(且唯一可靠)方法。它还允许缩放。
否则,只需克服它并确保您有严格的保密协议。