问题:
如何设置一个用户,几个表的只读权限,以及其余表的alter/insert/delete权限?
查看更多教程 https://on itroad.com
解决方法
这可以使用 MySQL 授权来实现,因为 MySQL 确实允许在表级别允许/撤销特权。
通常,数据库管理员首先使用 CREATE USER 创建帐户,然后使用 GRANT 定义其权限和特征。
例如:
CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'password'; GRANT ALL ON db1.* TO 'jeffrey'@'localhost'; GRANT SELECT ON db2.invoice TO 'jeffrey'@'localhost'; GRANT USAGE ON *.* TO 'jeffrey'@'localhost' WITH MAX_QUERIES_PER_HOUR 90;
所有可能的权限都可以在在线手册的授予权限部分找到。
这同样适用于此处提到的存储过程特权。
注意:不支持以下语法:
GRANT INSERT, DELETE, ALTER, UPDATE ON *.myTableName TO 'myUser'@'%';
这意味着不可能在所有现有数据库上指定相同的表名。
日期:2020-09-17 00:11:14 来源:oir作者:oir