实验7 MySQL安全性控制

1.  用create user命令创建名为“u1”、主机名为localhost的数据库用户,密码为111。

CREATE USER 'u1'@'localhost' IDENTIFIED BY '111';  localhost为主机名

2. 使用Insert语句创建一个名为“u2”、主机为localhost的用户,密码为111(需要加密)。

----使用insert语句创建一个u2的用户,没有任何权限
INSERT INTO mysql.user(Host, User, authentication_string, ssl_cipher, x509_issuer, x509_subject) 
VALUES ('localhost', 'u2', PASSWORD('111'), '', '', '');
------通过insert语句创建用户后需要执行flush PRIVILEGES,目的时刷新内存,新用户才生效
FLUSH PRIVILEGES;

3. 用“u1”用户新建连接,执行对students表的查询操作,说明执行结果,并分析原因。

用创建好的用户建立链接

链接完成后进行语句查询看结果

SELECT * from students;
--本题结果为查询不到。因为该用户没有被授予查询权限,则会出现“无权限访问”或类似的错误信息

4. 在root用户下,将全部数据库的select权限授予用户u1,并允许其向其它用户授权。

GRANT SELECT ON *.* TO 'u1'@'localhost' WITH GRANT OPTION;

*.*指的是全部数据库
whith grant option 意味着限授予用户u1,并允许其向其它用户授权

5.在root用户下,将对s_t数据库teachers表中tno、tname属性的select权限授予用户u2。

GRANT SELECT(tno, tname) ON s_t227.teachers TO 'u2'@'localhost';

6. 在“u1”用户下,对s_t库的students表执行select操作。

use s_t227;
SELECT * from students;

本次操作能够成功,因为我们已经在root用户下,将全部数据库的select权限授予用户u1,并允许其向其它用户授权。

7.以u1连接后,撤销u2用户对stc表的select权限,然后在u2用户连接下,执行下列操作,分析运行结果。

(1)Select * from students

(2)Select * from stc 

撤销权限操作
REVOKE SELECT ON s_t227.stc FROM 'u2'@'localhost';

至于连接测试大致就如同上面一样,这里就略过了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值