小编Thi*_*n91的帖子

MySQL:授予 CREATE VIEW 权限

我创建了一个新的数据库架构作为“company_security”,并使用非常流行的 Company-Employee 表的表结构填充数据库,其中包含 DEPARTMENT、DEPENDENT、DEPT_LOCATIONS、EMPLOYEE、PROJECT 和 WORKS_ON 表。然后我在根用户会话中创建了一个新用户,

CREATE USER 'user1'@'localhost' IDENTIFIED BY 'password1'

我想做的是在 EMPLOYEE 和 user1 的 WORKS_ON 上创建一个视图 WORKS_ON1(Fname,Lname,Pno) 。为此,我首先以 root 身份向 user1 授予必要的权限,如下所示。

GRANT SELECT ON company_security.WORKS_ON TO 'user1'@'localhost'
GRANT SELECT company_security.EMPLOYEE TO 'user1'@'localhost' 
GRANT CREATE VIEW ON company_security.* TO 'user1'@'localhost' 
Run Code Online (Sandbox Code Playgroud)

然后我刷新了权限,这是输出SHOW GRANTS for 'user1'@'localhost'

显示补助金的输出

然后我尝试从 user1 创建视图,

CREATE VIEW WORKS_ON1 AS select Fname,Lname,Pno from EMPLOYEE,WORKS_ON;
Run Code Online (Sandbox Code Playgroud)

但我遇到了这样的错误,

ERROR 1142 (42000): CREATE VIEW command denied to user 'user1'@'localhost' for table 'WORKS_ON1'
Run Code Online (Sandbox Code Playgroud)

我在 MySQL 论坛中发现了类似的问题,但他在解决方案中提到的 MySQL …

permissions mysql-5.6

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

mysql-5.6 ×1

permissions ×1