教学课件项目8 维护学生信息管理数据库的安全性.pptx
《教学课件项目8 维护学生信息管理数据库的安全性.pptx》由会员分享,可在线阅读,更多相关《教学课件项目8 维护学生信息管理数据库的安全性.pptx(77页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、MySQL数据库原理及应用(微课版|第3版)数据库原理及应用数据库原理及应用-项目8 维护学生信息管理数据库的安全性MySQL数据库原理及应用(微课版|第3版)情景导入情景导入王宁了解到数据库管理员还有三个重要职责,一是尽量使王宁了解到数据库管理员还有三个重要职责,一是尽量使MySQLMySQL免遭用户的非免遭用户的非法侵入,拒绝其访问数据库,保证数据库的安全性。二是为防止数据丢失,及法侵入,拒绝其访问数据库,保证数据库的安全性。二是为防止数据丢失,及时将数据进行备份,保证数据的完整性,从而保证系统业务的正常运行。三是时将数据进行备份,保证数据的完整性,从而保证系统业务的正常运行。三是当数据库
2、管理系统不能正常运行时,能够根据日志信息进行恢复。当数据库管理系统不能正常运行时,能够根据日志信息进行恢复。对于数据的备份,王宁深有体会。在学习任务对于数据的备份,王宁深有体会。在学习任务5-45-4数据更新时,数据更新时,王宁由于操作不当,误将王宁由于操作不当,误将scsc表和表和studentstudent表中的数据清空,导致表中的数据清空,导致学生基本信息和选课信息丢失。李老师告诉王宁,在实际应用开学生基本信息和选课信息丢失。李老师告诉王宁,在实际应用开发中,一般要定期对数据进行备份,从而防止重要数据丢失。发中,一般要定期对数据进行备份,从而防止重要数据丢失。MySQL数据库原理及应用(
3、微课版|第3版)?了解了解MySQLMySQL的权限系统的权限系统?管理数据库用户权限管理数据库用户权限?备份与恢复数据库备份与恢复数据库?使用使用MySQLMySQL日志日志主要内容主要内容MySQL数据库原理及应用(微课版|第3版)项目项目1 1 理解理解数据库数据库职业能力目标(含课程思政)了解了解MySQLMySQL的权限系统的权限系统掌握掌握MySQLMySQL的用户管理和权限管理的方法的用户管理和权限管理的方法掌握数据备份和数据还原的方法掌握数据备份和数据还原的方法掌握数据库迁移的方法掌握数据库迁移的方法掌握数据的导入与导出方法掌握数据的导入与导出方法了解什么是了解什么是MySQL
4、MySQL日志日志MySQL数据库原理及应用(微课版|第3版)任务任务8-1 8-1 了解了解MySQLMySQL的权限系统的权限系统【任务提出】【任务提出】王宁在使用王宁在使用NavicatNavicat客户端连接客户端连接MySQLMySQL服务器时,有一次服务器时,有一次误将误将rootroot用户的密码输入用户的密码输入123123(正确密码是(正确密码是123456123456),单),单击击“确定确定”按钮后,双击生成的连接,结果返回了按钮后,双击生成的连接,结果返回了“1045-“1045-Access denied for user rootlocalhost(using Ac
5、cess denied for user rootlocalhost(using password:YES)”password:YES)”的错误提示。的错误提示。因此,他需要根据因此,他需要根据MySQLMySQL权限系统的相关知识,权限系统的相关知识,来解决这个问题。来解决这个问题。MySQL数据库原理及应用(微课版|第3版)MySQL是一个多用户数据库管理系统,具有功能强大的访问控制系统,可以为不同用户指定允许的权限。掌握其授权机制是开始操作MySQL数据库必须要走的第1步。下面将简单介绍如何利用MySQL权限表的结构和服务器决定访问权限。(一)(一)权限表权限表MySQL数据库原理及应用
6、(微课版|第3版)通过网络连接服务器的客户对MySQL数据库的访问由权限表内容来控制。这些表位于mysql数据库中,并在第1次安装MySQL的过程中初始化。权限表共有5个表:user、db、tables_priv、columns_priv和procs_priv。(一)(一)权限表权限表当MySQL服务启动时,会首先读取mysql中的权限表,并将表中的数据装入内存。当用户进行存取操作时,MySQL会根据这些表中的数据做相应的权限控制。MySQL数据库原理及应用(微课版|第3版)(1)user表。user表是MySQL中最重要的一个权限表,记录允许连接到服务器的账号信息。user表列出可以连接服务
7、器的用户及其口令,并且指定他们有哪种全局(超级用户)权限。在user表启用的任何权限均是全局权限,并适用于所有数据库。1、权限表user和db的结构和作用(一)(一)权限表权限表例如,如果用户启用了DELETE权限,则该用户可以从任何表中删除记录。MySQL数据库原理及应用(微课版|第3版)(2)db表。db表也是MySQL数据库中非常重要的权限表。db表中存储了用户对某个数据库的操作权限,决定用户能从哪个主机存取哪个数据库。(一)(一)权限表权限表MySQL数据库原理及应用(微课版|第3版)tables_priv表用来对表设置操作权限,columns_priv表用来对表的某一列设置权限,pr
8、ocs_priv表可以对存储过程和存储函数设置操作权限。2、tables_priv表、columns_priv表和procs_priv表(一)(一)权限表权限表MySQL数据库原理及应用(微课版|第3版)为了确保数据库的安全性与完整性,系统并不希望每个用户可以执行所有的数据库操作。当MySQL允许一个用户执行各种操作时,它将首先核实用户向MySQL服务器发送的连接请求,然后确认用户的操作请求是否被允许。(二)(二)MySQLMySQL权限系统的工作原理权限系统的工作原理 MySQL的访问控制分为两个阶段:u连接核实阶段u请求核实阶段MySQL数据库原理及应用(微课版|第3版)当用户试图连接My
9、SQL服务器时,服务器基于用户提供的信息来验证用户身份,如果不能通过身份验证,服务器会完全拒绝该用户的访问。如果能够通过身份验证,则服务器接受连接,然后进入第2个阶段等待用户请求。1连接核实阶段(二)(二)MySQLMySQL权限系统的工作原理权限系统的工作原理MySQL使用user表中的3个字段(Host、User和authentication_string)进行身份检查,服务器只有在用户提供主机名、用户名和密码并与user表中对应的字段值完全匹配时才接受连接。MySQL数据库原理及应用(微课版|第3版)一旦连接得到许可,服务器进入请求核实阶段。在这一阶段,MySQL服务器对当前用户的每个操
10、作都进行权限检查,判断用户是否有足够的权限来执行它。用户的权限保存在user、db、tables_priv或columns_priv权限表中。在MySQL权限表的结构中,user表在最顶层,是全局级的。下面是db表,它是数据库层级的。最后才是tables_priv表和columns_priv表,它们是表级和列级的。2请求核实阶段(二)(二)MySQLMySQL权限系统的工作原理权限系统的工作原理确认权限时,MySQL首先检查user表,如果指定的权限没有在user表中被授权,MySQL服务器将检查db表,在该层级的SELECT权限允许用户查看指定数据库的所有表的数据。如果在该层级没有找到限定的
11、权限,则MySQL继续检查tables_priv表以及columns_priv表。如果所有权限表都检查完毕,依旧没有找到允许的权限操作,MySQL服务器将返回错误信息,用户操作不能执行,操作失败。MySQL数据库原理及应用(微课版|第3版)接收到用户操作请求检查user表中权限检查db表中权限检查tables_priv表中权限检查columns_priv表中权限不允许用户执行该操作执行用户请求的操作无无无无有有有有MySQL请求核实阶段的过程(二)(二)MySQLMySQL权限系统的工作原理权限系统的工作原理MySQL数据库原理及应用(微课版|第3版)【任务实施】【任务实施】王宁掌握了用户权限
12、验证的方法和步骤后,根据王宁掌握了用户权限验证的方法和步骤后,根据错误提示信息,将错误提示信息,将rootroot用户的密码修正为用户的密码修正为123456123456,成功使成功使NavicatNavicat连接到了连接到了MySQLMySQL服务器。服务器。任务任务8-1 8-1 了解了解MySQLMySQL的权限系统的权限系统 MySQL数据库原理及应用(微课版|第3版)【任务提出】【任务提出】在实际应用中,一般不会以在实际应用中,一般不会以rootroot用户直接操作数据库,而是要用户直接操作数据库,而是要新建普通用户进行操作。王宁尝试着创建了一个用户新建普通用户进行操作。王宁尝试着
13、创建了一个用户testtest。但是当。但是当他以他以testtest用户连接到服务器时,提示如用户连接到服务器时,提示如“1142-SELECT command“1142-SELECT command denied to user testdenied to user test localhost for table user”localhost for table user”所示的错误所示的错误提示。提示。任务任务8-2 8-2 管理数据库用户权限管理数据库用户权限王宁需要掌握用户权限的相关知识,并解决这个问题。王宁需要掌握用户权限的相关知识,并解决这个问题。MySQL数据库原理及应用(微
14、课版|第3版)通过账户管理,可以保证MySQL数据库的安全性。MySQL的账户管理主要包括以下内容:Q登录和退出MySQL服务器Q创建用户Q删除用户Q密码管理Q权限管理(一)用户管理(一)用户管理MySQL数据库原理及应用(微课版|第3版)要创建新用户,必须有相应的权限来执行创建操作。在MySQL数据库中,有3种方式创建新用户。利用图形工具,使用SQL语句(CREATE USER语句或GRANT语句),直接操作MySQL权限表。1创建新用户(一)用户管理(一)用户管理MySQL数据库原理及应用(微课版|第3版)1)在Navicat中,连接到MySQL服务器。2)单击工具栏上的【用户】按钮,这时
15、会在右侧窗格显示出用户列表。3)单击右侧窗格上方的【新建用户】按钮,或右击窗格空白处,执行【新建用户】命令,将弹出新建用户的对话框,在对话框中输入相应内容,单击【保存】,即可创建新用户。4)可以在“高级”、“服务器权限”和“权限”选项卡中设置该用户的权限、安全连接和限制服务器资源等。(1)使用Navicat图形工具创建用户(一)用户管理(一)用户管理MySQL数据库原理及应用(微课版|第3版)CREATE USER语句的基本语法格式如下。CREATE USER userIDENTIFIED BY password,userIDENTIFIED BY password,;(2)使用CREATE
16、USER语句创建新用户【例8.1】添加两个新用户,king的密码为queen,palo的密码为530415。CREATE USER kinglocalhost IDENTIFIED BY queen,palolocalhost IDENTIFIED BY 530415;(一)用户管理(一)用户管理MySQL数据库原理及应用(微课版|第3版)创建新用户,实际上就是在user表中添加一条新的记录。因此,可以使用INSERT语句直接将用户的信息添加到mysql.user表中。其语法格式如下。(3)直接操作mysql用户表INSERT INTO user(HOST,User,authenticatio
17、n_string,ssl_cipher,x509_issuer,x509_subject)VALUES(hostname,username,MD5(authentication_string,),);提示:ssl_cipher,x509_issuer,x509_subject这3个字段没有默认值,在向user表中添加新记录时,一定要设置这3个字段的默认值,否则insert语句将不能执行。(一)用户管理(一)用户管理MySQL数据库原理及应用(微课版|第3版)【例8.3】使用INSERT语句创建一个新用户student,主机名为localhost,密码为infomation。INSERT INT
18、O mysql.user(Host,User,authentication_string,ssl_cipher,x509_issuer,x509_subject)VALUES(localhost,student,MD5(infomation),);此时,新添加的用户还没法使用账号密码登录MySQL,需要使用FLUSH命令使用户生效。命令如下。FLUSH PRIVILEGES;(一)用户管理(一)用户管理MySQL数据库原理及应用(微课版|第3版)在MySQL数据库中,删除用户可以用以下三种方法:Q使用Navicat图形工具删除用户Q使用DROP USER语句删除用户Q使用DELETE语句从my
19、sql.user表中删除对应的记录来删除用户2删除用户(一)用户管理(一)用户管理MySQL数据库原理及应用(微课版|第3版)DROP USER的语法格式如下:DROP USER user_name,user_name,;功能:用于删除一个或多个MySQL账户,并取消其权限。要使用DROP USER,必须拥有mysql数据库的全局CREATE USER权限或DELETE权限。例如:DROP USER TOMlocalhost;(一)用户管理(一)用户管理MySQL数据库原理及应用(微课版|第3版)使用DELETE语句删除用户,基本语法格式如下。DELETE FROM mysql.user WH
20、ERE host=hostname and user=username;备注:host和user为user表中的两个字段。【例8.5】使用DELETE语句删除用户test1。DELETE FROM mysql.user WHERE host=localhost and user=test1;(一)用户管理(一)用户管理MySQL数据库原理及应用(微课版|第3版)(1)使用Navicat图形工具修改用户。(2)使用RENAME USER语句修改用户。基本语法格式如下。RENAME USER old_user TO new_user,old_user TO new_user,;3修改用户名称(一)
21、用户管理(一)用户管理MySQL数据库原理及应用(微课版|第3版)【例8.6】将用户king1和king2的名字分别修改为ken1和ken2。RENAME USER king1localhost TO ken1localhost,king2localhost TO ken2localhost;(一)用户管理(一)用户管理MySQL数据库原理及应用(微课版|第3版)要修改某个用户的登录密码,可以使用mysqladmin命令、UPDATE语句或SET PASSWORD语句来实现。4修改密码(1)root用户修改自己的密码。使用mysqladmin命令。基础语法格式如下。mysqladmin u u
22、sername h localhost p【例8.7】使用mysqladmin命令将root用户的密码修改为rootpwd。mysqladmin u root p password rootpwd;Enter password:修改完root用户的密码后,需要重新启动MySQL或执行FLUSH PRIVILEGES语句重新加载用户权限表(一)用户管理(一)用户管理MySQL数据库原理及应用(微课版|第3版)使用update语句修改mysql数据库中的user表。UPDATE mysql.user SET authentication_string=MD5(newpassword)WHERE u
23、ser=rootand host=localhost;(2)使用set password语句修改密码,语法格式如下。SET PASSWORD FOR USER=newpassword ;例如:SET PASSWORD FOR kinglocalhost=queen1;(一)用户管理(一)用户管理MySQL数据库原理及应用(微课版|第3版)v在学习过程中,为了方便使用在学习过程中,为了方便使用MySQLMySQL,无论是,无论是rootroot用户还是普用户还是普通用户,密码都设置得非常简单。但是,在实际工作中,我们通用户,密码都设置得非常简单。但是,在实际工作中,我们要有要有。思政小贴士思政小
24、贴士v大数据时代,数据安全面临严峻考验,用户信息保护已大数据时代,数据安全面临严峻考验,用户信息保护已成为全球网络空间安全监管的巨大难题。为保护自身信成为全球网络空间安全监管的巨大难题。为保护自身信息安全,防止遭受不法分子攻击,强烈建议读者在设置息安全,防止遭受不法分子攻击,强烈建议读者在设置各类用户名和密码时,一定要选择复杂的密码。各类用户名和密码时,一定要选择复杂的密码。MySQL数据库原理及应用(微课版|第3版)权限管理主要是对登录到MySQL的用户进行权限验证。所有用户的权限都存储在MySQL的权限表中。合理的权限管理能够保证数据库系统的安全,不合理的权限设置会给MySQL服务器带来安
25、全隐患。(二)权限管理(二)权限管理MySQL数据库原理及应用(微课版|第3版)MySQL数据库中有多种类型的权限,这些权限都存储在mysql数据库的权限表中。在MySQL启动时,服务器将这些数据库中的权限信息读入内存。1MySQL的权限类型权限级别:全局层级。数据库层级。表层级。列层级。子程序层级。(二)权限管理(二)权限管理MySQL数据库原理及应用(微课版|第3版)在MySQL中,必须是拥有GRANT权限的用户才可以执行GRANT语句。GRANT语句的基本语法格式如下。GRANT priv_type(column_list),priv_type(column_list),nONtable
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件项目8 维护学生信息管理数据库的安全性 教学 课件 项目 维护 学生 信息管理 数据库 安全性
限制150内