实验目的
(1)掌握自主存取控制权限的定义和维护方法。
(2)使用SQL对数据进行安全性控制,包括:授权和权力回收。
二、实验内容
1、在Navicat中,管理建立用户和分配用户权限。
在这里,我们可以发现root是MySQL最高级别权限的用户,它拥有查看、修改和删除MySQL软件中所有数据库的权限。当需要有多个数据库,并且分配给不同的用户使用,多个用户之间只有查看自己对应数据库的权限,不相互干扰,需要建立多个数据库和用户,给用户设置管理指定数据库的权限。
操作方法如下:
①创建名为stu的数据库,字符集选择utf8,排序规则选择utf8_general_ci,导入student、course、sc三张表。
②打开数据库stu后,点击界面上方的“用户”-- “新建用户”–输入用户名“user1”、主机“localhost”、密码“1234” --保存。
③点选新建的用户user1–编辑用户–权限–添加权限–选择数据库stu,添加相应权限(可不全选)。
④设置到此完成。为了验证我们的设置是否正确,我们可以用刚才建立的用户user1和密码1234来连接localhost主机地址(切换用户方法:关闭连接—连接属性—将用户名和密码改为user1和1234—打开连接)。连上后,可使用用户user1对数据库stu或其他数据库进行操作,看是否与自己设置的权限相吻合。(可只添加少量权限,然后尝试在stu数据库里进行操作,看是否能成功)。
修改权限
删除权限
请按照上述步骤写出实验结果,并配相应截图。
2、使用两个不同的用户通过Navicat查看示例数据库world中country、city两个表的所有数据。添加新用户对数据库world的权限,比较在有无相关权限的情况之下进行操作的区别:自行设计,总共尝试2组,进行对比,分别写出实验结果,并配相应截图。
User2
User3
User2对city表具有更新功能
User3不具备
User2对country删除
User3不行
3、
(1)在示例数据库world里面创建一个视图view_city,该视图可以查看CountryCode = 'NLD’的数据。
(2)创建一个用户,为该用户分配查看视图view_city的权限。