MySQL OCP888题解061-库表访问权限的激活时机

1、原题

1.1、英文原题

You are contacted by a user who does not have permission to access a database table.
You determine after investigation that this user should be permitted to have access and so you execute a GRANT statement to enable the user to access the table.
Which statement describes the activation of that access for the user?
A、The access does not take effect until the user logs out and back in.
B、The access does not take effect until the next time the server is started.
C、The access is available immediately.
D、The access does not take effect until you issue the FLUSH PRIVILEGES statement.

1.2、中文翻译

一个没有访问数据库表权限的用户与您联系。
您在调查后确定应该允许该用户访问,因此您执行GRANT语句以允许用户访问该表。
哪个语句描述了用户对该访问的激活?
A、 直到用户登出并重新登录后,访问才会生效。
B、 直到下次启动服务器时,访问才会生效。
C、 访问立即可用。
D、 直到您发出FLUSH PRIVILEGES语句时,访问才会生效。

1.3、答案

C

2、题目解析

2.1、题干解析

本题考察对用户的库表访问权限进行授权的生效时机。

2.2、选项解析

  1. MySQL对用户授权可以访问指定库表时,是立即生效的。即使用户当前会话是在授权前打开的,也可以立即操作新授权的库表。因此选项C正确。

3、实验

3.1、实验1

3.1.1、实验目的

验证对用户的授权某个库的权限可以即时生效。

3.1.2、实验前准备

已安装好的MySQL并已运行。

3.1.3、实验步骤

  1. 会话1:用管理员,先删除所有可能存在的数据库和用户,然后创建两个数据库d1、d2,在两个库中分别各建表t1、t2,再创建一个用户u1,将其中一个数据库d1授权给该用户。
mysql> DROP DATABASE IF EXISTS d1;
mysql> DROP DATABASE IF EXISTS d2;
mysql> DROP USER IF EXISTS u1;
mysql> CREATE DATABASE d1;
mysql> CREATE DATABASE d2;
mysql> CREATE TABLE d1.t1(id INT);
mysql> CREATE TABLE d2.t2(id INT);
mysql> CREATE USER u1 IDENTIFIED BY '000000';
mysql> GRANT SELECT ON d1.* TO u1;
  1. 会话2:启动一个新会话,用u1用户登录,可以访问d1库,不能访问d2库
mysql> SELECT * FROM d1.t1;
Empty set (0.00 sec)
mysql> SELECT * FROM d2.t2;
ERROR 1142 (42000): SELECT command denied to user 'u1'@'localhost' for table 't2'
  1. 会话1:将d2库也授权给u1用户
mysql> GRANT SELECT ON d2.* TO u1;
  1. 会话2:在刚才的会话2里发现d2也可以查询了。
mysql> SELECT * FROM d1.t2;
Empty set (0.00 sec)

3.1.4、实验结论

MySQL对用户授权可以访问指定库表时,是立即生效的。即使用户当前会话是在授权前打开的,也可以立即操作新授权的库表。

4、总结

  1. MySQL对用户授权可以访问指定库表时,是立即生效的。即使用户当前会话是在授权前打开的,也可以立即操作新授权的库表。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值