Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 授予用户对多个视图的访问权,并在不查看所有内容的情况下添加行_Mysql_Sql - Fatal编程技术网

Mysql 授予用户对多个视图的访问权,并在不查看所有内容的情况下添加行

Mysql 授予用户对多个视图的访问权,并在不查看所有内容的情况下添加行,mysql,sql,Mysql,Sql,我想创建多个用户,每个用户都应该有很多视图的读取权限 另外,我希望这些用户能够将数据插入到某个表中,而不必直接访问该表——这可能吗 谢谢 您可以使用下面的方法- 假设您有一个名为test_table的表- CREATE TABLE test_table ( id INT AUTO_INCREMENT PRIMARY KEY, fname VARCHAR(50), age INT ) 现在从该表创建一个视图- CREATE VIEW test_view AS SELECT * FROM test

我想创建多个用户,每个用户都应该有很多视图的读取权限

另外,我希望这些用户能够将数据插入到某个表中,而不必直接访问该表——这可能吗


谢谢

您可以使用下面的方法-

假设您有一个名为test_table的表-

CREATE TABLE test_table
(
id INT AUTO_INCREMENT PRIMARY KEY,
fname VARCHAR(50),
age INT
)
现在从该表创建一个视图-

CREATE VIEW test_view AS SELECT * FROM test_table;
现在创建用户“user1”并根据以下内容分配权限-

GRANT SELECT,INSERT ON zafar.insert_view TO user1@'%' IDENTIFIED BY 'user1';
INSERT INTO test_view (fname,age) VALUES('zafar',35);
注意:这里我提供了一个示例的全局权限,但在生产服务器上,您需要提供特定服务器的权限,而不是%的权限

现在通过用户“user1”连接并插入行,如下所示-

GRANT SELECT,INSERT ON zafar.insert_view TO user1@'%' IDENTIFIED BY 'user1';
INSERT INTO test_view (fname,age) VALUES('zafar',35);

您是否考虑过向MySQL上的特定用户授予特定权限?