这可能是一个简单的问题,但我在关系数据库方面的经验非常有限。如何微调 MySQL 中的权限。例如,如果我有以下代码
CREATE TABLE IF NOT EXISTS user(
ID INT NOT NULL AUTO_INCREMENT,
//...other columns
PRIMARY KEY(ID)
)ENGINE=InnoDB
CREATE TABLE IF NOT EXISTS pictures
(
ID INT NOT NULL AUTO_INCREMENT,
userID INT NOT NULL,
//...other columns
PRIMARY KEY(ID),
FOREIGN KEY (userID) REFERENCES user(ID)
)ENGINE=InnoDB";
我创建了两个新用户,user1
并且user2
,我可以授予他们对表的权限
GRANT ALL PRIVILIGES ON db_name.* to ".user1."@\"%\" identified by ".pass1
GRANT ALL PRIVILIGES ON db_name.* to ".user2."@\"%\" identified by ".pass2
但是是否有任何地方可以将表内的权限限制为仅特定子集?我应该在我的 PHP 代码中执行此操作吗?我习惯了面向对象的编程,所以我不习惯保存所有信息的海量表。