网络数据库技术课程实验9
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验9 数据库的安全性
实验类型:验证型实验课时: 2 指导教师:高素春
时间:2011年月日课次:第节教学周次:第周
实验分室:实验台号:实验员:
实验目的:
掌握数据库用户帐号的建立与管理
掌握数据库用户权限的管理
实验要求:
理解数据库安全的重要性
了解MySQL的安全机制
实验内容:
1.数据库用户帐号的建立与管理
2.用户权限的管理
实验步骤:
说明:按实验步骤对数据库YGGL中的三个表进行操作,三个表结构如下(具体参看实验2):Departments (DepartmentID,DepartmentName,Note)
Employees
(EmployeeID,Name,Sex,Birthday,Education,WorkYear,Address,PhoneNumber,DepartmentID) Salary(EmployeeID,InCome,OutCome)
要求:将实验步骤中紫色底纹部分填上正确答案。
1. 数据库用户帐号的建立与管理
(1)创建数据库用户user_1和user_2,密码都为1234(服务器为本机服务器,名为localhost)。
在命令行客户端,以root身份登录MySQL服务器后运行下面的SQL语句。
CREATE USER
'user_1'@'localhost' IDENTIFIED BY '1234',
'user_2'@'localhost' IDENTIFIED BY '1234';
(2)将用户user_2的名称修改为user_3。
RENAME USER
'user_2'@'localhost' TO 'user_3'@'localhost';
(3)将用户user_3的密码修改为123456。
SET PASSWORD FOR 'user_3'@'localhost' = PASSWORD('123456');
(4)删除用户user_3。
DROP USER user_3@localhost;
(5)退出MySQL,再次以user_1用户身份登录MySQL。
quit;
mysql -u user_1 -p1234
思考题:
1.以user_1用户身份登录MySQL后,可以对服务器端数据库YGGL进行查询以及更新操作吗?实际操作试试,并解释原因。
2.MySQL的用户信息存储在MySQL哪个数据库的哪个表中?
2.用户权限的管理
重新以root身份登录MySQL服务器后运行下面的SQL语句:
(1)授予用户user_1对YGGL数据库中Employees表的所有操作权限。
USE YGGL;
GRANT ALL ON Employees TO user_1@localhost;
(2)授予用户user_1对YGGL数据库中Departments表的查询、插入、修改权限。GRANT SELECT,INSERT,UPDATE ON Departments TO user_1@localhost;
(3)授予用户user_1对YGGL数据库的所有权限。
GRANT ALL ON * TO user_1@localhost;
(4)授予用户user_1对YGGL数据库中Salary表上的SELECT权限,并允许其将权限授予其它用户。
GRANT SELECT
ON YGGL.Salary
TO user_1@localhost
WITH GRANT OPTION;
执行完后可以以user_1用户身份登录MySQL,用户可以使用GRANT语句将自己在该表的所
拥有的权限授予其他用户。
(5)回收用户user_1对YGGL数据库中Employees表的SELECT操作权限。
REVOKE SELECT ON Employees FROM user_1@localhost; 思考题:
1.思考表权限、列权限、数据库权限和用户权限的不同之处。
2.本次实验中遇到的问题及解决方法。