我有一个网站和一个带有 5 个表的 mysql 数据库。其中之一包括大约 500 封用户电子邮件。我正在外包新功能的开发,我想阻止开发人员访问包含用户电子邮件的表格。开发人员将有权访问整个数据库,因为他需要添加新表,但我想阻止他访问用户电子邮件表。
有什么办法吗?
我有一个网站和一个带有 5 个表的 mysql 数据库。其中之一包括大约 500 封用户电子邮件。我正在外包新功能的开发,我想阻止开发人员访问包含用户电子邮件的表格。开发人员将有权访问整个数据库,因为他需要添加新表,但我想阻止他访问用户电子邮件表。
有什么办法吗?
MySQL 有GRANT / REVOKE语句来根据连接的用户限制对某些表的访问权限。
您可能必须在您的数据库中创建一个新用户REVOKE
,以及您要为该用户锁定的表的不必要权限。
以下是 MySQL 支持的完整权限列表:http: //dev.mysql.com/doc/refman/5.0/en/grant.html#grant-privileges
我的建议是将您的应用程序复制到开发环境,用 loremipsum 替换电子邮件。这是解决此问题的专业(也是唯一可靠的)方法。它还允许缩放。
否则,请克服它并确保您有严格的保密协议。
我认为没有办法可以限制用户访问某些表,但您可以限制他只使用插入和更新命令而不是选择命令
CREATE USER 'test_user'@'localhost' IDENTIFIED BY 'password';
GRANT INSERT, UPDATE ON `secure_login`.* TO 'test_user'@'localhost';
使用REVOKE
该用户的特权http://dev.mysql.com/doc/refman/5.0/en/revoke.html
REVOKE ALL PRIVILEGES ON db.emails FROM 'user'@'host';