当前位置:   article > 正文

Mysql数据库:创建并授予用户权限以仅查看视图实战_mysql创建新的用户给视图查询权限时,连接报1184

mysql创建新的用户给视图查询权限时,连接报1184

假设我有一个表,其中包含应用程序的不同用户插入的记录。如何授予特定用户访问权限,使其仅查看该表中的记录?我已经考虑过VIEW用他/她的记录创建一个,但是我不知道如何创建一个只能看到该用户的mysql用户VIEW

那么,是否有可能创建一个只能访问单个MySQL用户的mysql-user VIEW?还可以使该用户成为只读用户VIEW吗?

解决办法:

GRANT SELECT ON database1.view1 TO 'someuser'@'somehost';

 

比如:


创建用户:

create user 'show_root2'@'%' identified by '123456'

授权(dd_user是视图名称):

GRANT SELECT ON saas_db.dd_user TO 'show_root2'@'%';

 

如何在mysql视图中动态传值:

可以将此解决方案与函数一起使用 -

  1. CREATE FUNCTION func() RETURNS int(11)
  2. RETURN @var;
  3. CREATE VIEW view1 AS
  4. SELECT * FROM table1 WHERE id = func();

使用示例:

  1. SET @var = 1;
  2. SELECT * FROM view1;

只需创建不带参数的视图(即仅处理连接):

  1. CREATE VIEW MYVIEW AS (
  2. SELECT A.FNAME
  3. , A.LNAME
  4. , B.EMAIL
  5. , A.EID AS EID
  6. , B.EMAILTYP AS EMAILTYP
  7. FROM EMPLOYEE A, EMPEMAIL B
  8. WHERE A.EID = B.EID)

在查询时应用动态参数:

  1. SELECT FNAME, LNAME, EMAIL
  2. FROM my_view
  3. WHERE eid = :empId AND emailtyp = :emailType

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/837138
推荐阅读
相关标签
  

闽ICP备14008679号