实验4 权限管理 下载本文

实验4 权限管理

实验目的:

1.掌握数据库用户帐号的建立与管理 2.掌握数据库用户权限的管理

实验要求:

1.理解数据库安全的重要性 2.了解MySQL的安全机制

实验内容:

1.数据库用户帐号的建立与管理 2.用户权限的管理

实验步骤:

说明:按实验步骤对数据库YGGL中的三个表进行操作,三个表结构如下(具体参看实验2): Departments (DepartmentID,DepartmentName,Note) Employees

(EmployeeID,Name,Sex,Birthday,Education,WorkYear,Address,PhoneNumber,DepartmentID)

Salary(SalaryID,InCome,OutCome,Time, EmployeeID) 要求:完成SQL

1. 数据库用户帐号的建立与管理

(1)创建数据库用户user_1和user_2,密码都为1234(服务器为本机服务器,名为localhost)。

Create user user_1@localhost identified by ‘1234’; Create user 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’); Alter user user_3 identified by ‘123456’;//5.6.27报错

(4)删除用户user_3。

Drop user user_3@localhost ;

(5)退出MySQL,再次以user_1用户身份登录MySQL。 Mysql –h localhost –u user_1 -p 思考题:

1.以user_1用户身份登录MySQL后,可以对服务器端数据库YGGL进行查询以及更新操作吗?实际操作试试,并解释原因。

不能,因为user_1没有查询、更新数据库的权限

2.MySQL的用户信息存储在MySQL哪个数据库的哪个表中? User

2.用户权限的管理

重新以root身份登录MySQL服务器后运行下面的SQL语句:

(1)授予用户user_1对YGGL数据库中Employees表的所有操作权限。 Grant all on yggl.emlpoyees to user_1@localhost;

(2)授予用户user_1对YGGL数据库中Departments表的查询、插入、修改权限。 Grant select,insert,update on yggl.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.sqlary to user_1@localhost with grant option;

执行完后可以以user_1用户身份登录MySQL,用户可以使用GRANT语句将自己在该表的所拥有的权限授予其他用户。

(5)回收用户user_1对YGGL数据库中Employees表的SELECT操作权限。 Revoke select on yggl.employees from user_1@localhost; 思考题:

1.思考表权限、列权限、数据库权限和用户权限的不同之处。 列权限是对表中列的操作的权限

表权限是对数据库中表操作的权限 数据库权限是对数据库操作的权限

用户权限可以限制改用户登录、操作数据库、数据库中内容的权限,还有创建用户的权限等等,不同的用户可以具有不同的操作权限

用户权限主要是通过登录密码、端口号、主机名等限制用户的登录方式,数据库、表、列权限则更加注重数据的安全性,通过限制用户对其的权限达到数据安全