MySQL访问控制

MySQL访问控制

 

【目的】

1、了解MySQL的访问控制原理

2、了解MySQL用户管理方法

3、掌握MySQL的基本权限操作语句

【知识点】

连接验证、修改权限、请求验证。

【原理】

       数据库中通常包含重要的数据,这些数据的安全性和完整性需要通过访问控制来维护。MySQL的访问控制实际上就是为用户提供且仅提供他们所需的访问权。只有使用已有用户登录以后,才能凭借其具有的权限对数据库的数据进行访问或删改等操作。MySQL的用户信息存储在其自带的数据库中,可以使用相应的SQL语句创建新用户或者删除已有用户。

       MySQL会自动创建一个名为root的用户,root用户拥有完全控制整个MySQL服务器的权限。为了避免root权限被恶意使用,需要创建一些具有适当权限的用户。对于这些用户,可以用标准的SQL语句GRANT和REVOKE来修改控制用户访问的授权表。MySQL就是通过上述方法,即授予不同用户相应的权限来实现访问控制的。

【实验设备】

主机:Windows7虚拟机 配置:MySQL5.5

【实验思路】

1、查询my.user表中数据库的使用者账号。

2、创建新用户。

3、给用户分配权限。

4、通过操作数据库来验证用户权限。

【实验步骤】

1、单击屏幕左下角的【开始】图标。

2、在搜索框中搜索cmd,并单击cmd运行。

3、成功打开命令行。

4、在安装好mysql服务器后,就会创建一个root用户,root用户拥有完全控制整个mysql服务器的权限。输入命令mysql-u root-p并输入密码111,使用root账号连接到数据库。连接成功界面

MySQL访问控制

 

5、创建数据库seller。

MySQL访问控制

 

6、在seller库下创建表user。

MySQL访问控制

 

7、mysql的用户账号及相关信息存储在名为mysql的数据库(系统)中,其中的user表包含了所有用户的账号。通过使用select user from mysql.user命令可以查询到所有的用户。

MySQL访问控制

 

8、为了确保数据的安全,应尽量避免使用root账号登录系统。用create命令创建一个新用户,其用户名为zhangsan,密码为123。此处的localhost表示该用户只能在本地登录,不能

在另外一台机器上远程登录。

MySQL访问控制

 

9、在未给新建用户分配权限之前,新用户只能登录MySQL服务器,除此之外不具有其他权限。可以使用如下命令查看该用户的权限。输出显示用户zhangsan的权限为usage on*.*,即

其不具有对任何数据库进行任何操作的权限。

MySQL访问控制

 

 

 10、再打开一个cmd,使用新创建的用户zhangsan与本机IP地址登录服务器。因为创建zhangsan用户时只允许其在本地连接服务器,所以这里使用IP登录会导致出错而无法连接。

MySQL访问控制

 

11、再打开一个cmd,使用zhangsan用户登录MySQL服务器,输入密码123。默认登录是在本地连接服务器,与创建zhangsan用户时赋予它的权限相符,因此能成功登录服务器。此步

骤与步骤10形成对照。

MySQL访问控制

 

MySQL访问控制

localhost 127.0.0.1和本机ip三者的区别https://www.cnblogs.com/lspbk/p/14334582.html

 

12、尝试使用用户zhangsan执行创建数据库的命令。命令失败,证明用户zhangsan确实没有创建数据库的权限。

 

13、尝试使用用户zhangsan执行查询数据库的命令。命令失败,证明用户zhangsan确实没有查询数据库的权限。

 

14、使用root账号登录MySQL(同第四步)。通过grant命令授予用户zhangsan在seller数据库中user表下对id和username两列进行select的权限。

 

15、使用用户zhangsan再次执行查询命令,命令成功。

 

16、使用用户zhangsan执行插入命令,命令不成功。可见只有被授予权限的操作才能执行。

 

17、切换到root用户。授予用户zhangsan对seller数据库下所有表的所有权限。

 

18、授予用户zhangsan创建新用户的权限。

 

19、切换到zhangsan用户。再次执行插入命令,命令成功。

 

20、使用zhangsan用户创建一个新用户wangwu。

 

21、用revoke命令收回用户zhangsan对表seller.user的权限。

 

22、修改用户名操作。将用户zhangsan的名字改为lisi。

 

23、将lisi的用户重置密码为‘123456’。

 

24、删除用户lisi。

 

25、再次查看user表,证明已删除成功。

【实验预期】

1、通过SQL语句实现创建并连接用户。

2、通过SQL语句实现更改用户权限,实现对用户访问数据库的控制。

3、能够实现修改用户信息,删除用户。

【实验结果】

1、登录刚创建的用户zhangsan,在没有对其进行授权时,使用该用户查询数据库失败。

2、通过grant命令授予用户zhangsan在seller数据库中user表下对id和username两列进行select的权限。

3、再次执行查询命令成功。

4、修改用户名操作,将zhangsan重命名为lisi。

5、查询用户表,证明修改成功。

6、删除用户lisi。

7、再次查看user表,证明已删除成功。

 

 

     

 

 

 

上一篇:JS 数组、对象、函数


下一篇:Linux网络DNS分离解析