MySQL访问控制

摘要:
MySQL访问控制1、了解MySQL的访问控制原理2、了解MySQL用户管理方法3、掌握MySQL的基本权限操作语句连接验证、修改权限、请求验证。MySQL的访问控制实际上就是为用户提供且仅提供他们所需的访问权。MySQL会自动创建一个名为root的用户,root用户拥有完全控制整个MySQL服务器的权限。MySQL就是通过上述方法,即授予不同用户相应的权限来实现访问控制的。

MySQL访问控制

【目的】

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

2、了解MySQL用户管理方法

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

【知识点】

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

【原理】

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

MySQL会自动创建一个名为root的用户,root用户拥有完全控制整个MySQL服务器的权限。为了避免root权限被恶意使用,需要创建一些具适当权限的用户。对于这些用户,可以用标准的SQL语句GRANTREVOKE来修改控制用户访问的授权表。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访问控制第1张

5、创建数据库seller。

MySQL访问控制第2张

6、在seller库下创建表user。

MySQL访问控制第3张

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

MySQL访问控制第4张

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

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

MySQL访问控制第5张

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

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

MySQL访问控制第6张

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

MySQL访问控制第7张

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

骤与步骤10形成对照。

MySQL访问控制第8张

MySQL访问控制第9张

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

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

MySQL访问控制第10张

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

MySQL访问控制第11张

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

MySQL访问控制第12张

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

MySQL访问控制第13张

MySQL访问控制第14张

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

MySQL访问控制第15张

MySQL访问控制第16张

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

MySQL访问控制第17张

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

MySQL访问控制第18张

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

MySQL访问控制第19张

MySQL访问控制第20张

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

MySQL访问控制第21张

21、用revoke命令收回用户zhangsan对表seller.user的权限。 (切换root用户收回权限)

MySQL访问控制第22张

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

MySQL访问控制第23张

MySQL访问控制第24张

//在root用户下查看user

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

MySQL访问控制第25张

//root用户下修改密码

24、删除用户lisi。

MySQL访问控制第26张

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

MySQL访问控制第27张

【实验预期】

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

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

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

【实验结果】

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

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

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

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

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

6、删除用户lisi。

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

免责声明:文章转载自《MySQL访问控制》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇idea 修改console 日志区的背景新浪微博开放平台深度历险下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MVC5 + EF6 完整入门教程三

期待已久的EF终于来了。 学完本篇文章,你将会掌握基于EF数据模型的完整开发流程。 本次将会完成EF数据模型的搭建和使用。 基于这个模型,将之前的示例添加数据库查询验证功能。 文章提纲 概述 & 要点 详细步骤 总结 概述 & 要点 下面是本文要点,正文部分会有详细介绍。 EF架构图 新建基于EF的Data Model的约定 关于ORM的...

大数据量下高并发同步的讲解

对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了。而并发问题是绝大部分的程序员头疼的问题, 但话又说回来了,既然逃避不掉,那我们就坦然面对吧~今天就让我们一起来研究一下常见的并发和同步吧。 为了更好的理解并发和同步,我们需要先明白两个重要的概念:同步和异步 1、同步和异步的区别和联系 所谓同步,可以理解为在执行完一个函...

mysql把表(表已有数据)的某列属性由空到非空,以及常用列操作

//先把CLSF_ID为空的设置默认值 UPDATE aop_dictionaries_info SET CLSF_ID='0' WHERE CLSF_ID='' OR CLSF_ID IS NULL; //把CLSF_ID设置为非空 ALTER TABLE aop_dictionaries_info CHANGE CLSF_ID CLSF_ID varc...

Oracle笔记(1)19c databse安装

一、环境 操作系统: CentOs7.6_64安装源: Oracle Database 19.3.0.0.0 for Linux x86-64.zip主机名: serverIP地址: 192.168.10.131 二、过程 参考:https://oracle-base.com/articles/19c/oracle-db-19c-installation-...

MySQL中实现递归查询

对于数据库中的树形结构数据,如部门表,有时候,我们需要知道某部门的所有下属部分或者某部分的所有上级部门,这时候就需要用到mysql的递归查询 1、创建表 按 Ctrl+C 复制代码 按 Ctrl+C 复制代码 2、初始数据 INSERT INTO `t_areainfo` VALUES ('1', '0', '中国', '0', '0'); I...

mysql 4.0.26 安装流程

引用:http://hi.baidu.com/bdczg/blog/item/e0f475951c8a9f47d0135ef9.html http://www.sudu.cn/info/index.php?op=article&id=114305 MYSQL小档案: 软件版本:4.0.26 软件大小:25.6MB 软件语言:英文版 软件类型:免费软...