MySQL数据库应用(微课版)课件 项目5:数据库安全管理_第1页
MySQL数据库应用(微课版)课件 项目5:数据库安全管理_第2页
MySQL数据库应用(微课版)课件 项目5:数据库安全管理_第3页
MySQL数据库应用(微课版)课件 项目5:数据库安全管理_第4页
MySQL数据库应用(微课版)课件 项目5:数据库安全管理_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目5:数据库安全管理数据库应用任务1用户与权限管理——

用户管理

教学目标

素质目标

知识目标1. 培养学生自主学习能力;2. 培养学生综合应用知识解决实际问题的能力;3. 培养学生积极的、正向的工作态度。4. 思政内容:不同用户具有不同的权限,融入对权力的使用应依法依规1. 了解MySQL用户;2. 掌握向数据库管理系统添加普通用户的方法;3. 掌握修改用户和删除用户的方法;

能力目标具备根据具体项目需求进行创建用户管管理用户的能力

教学重点向数据库管理系统添加普通用户。

教学难点向数据库管理系统添加普通用户教学重难点1.抽查与评讲作业;2.复习触发器的创建与管理方法;3.检查课程预习情况:“我们以前是以什么用户身份登录到MySQL服务器的?”

用户管理4知识储备1.MySQL用户MySQL是一个多用户数据库,其用户分为普通用户和root用户。root用户是超级管理员,拥有所有权限,包括创建用户、删除用户和修改用户和密码等管理权限,普通用户只拥有被授予的各种权限。2.添加用户root用户就是系统管理员,拥有MySQL数据库管理的最高权限,可以完成所有操作,其密码是在安装MySQL服务器时设置的。在具体的数据库开发应用中,不应该使用root用户账户,因为该用户的权限太大,有可能一不小心破坏了数据库的正常功能,这就需要为具体的应用创建一系列专门用于管理的用户账户和用于开发人员使用的用户账户。在MySQL中,使用CREATEUSER语句创建用户账户,其基本语法格式是:CREATEUSER用户名[IDENTIFIEDBY[PASSWORD]’密码’]用户管理5知识储备3.修改用户名修改用户名的基本语法格式:RENAMEUSER旧用户名to新用户名[,…]4.删除用户账户删除用户账户的基本语法规则:DROPUSERuser1[,user2…]用户管理6互动问答:1.为什么要创建普通用户?7用户管理任务实施【任务1】使用CREATEUSER创建一个名为user1的用户,密码是123456,主机名是localhost。mysql>createuser'user1'@'localhost'identifiedby'123456';如果指定用户登录时不需要密码,则可以省略IDENTIFIEDBY部分:mysql>createuser'user2'@'localhost';在系统数据库mysql的user表中查看用户:mysql>usemysql;mysql>selecthost,user,authentication_stringfromuser;用户管理8任务实施在系统数据库mysql的user表中查看用户:mysql>usemysql;mysql>selecthost,user,authentication_stringfromuser;查看到的用户如图所示:用户管理9互动问答:1.创建一个名为myuser的用户,无密码,主机名是localhost.;2.创建一个名为myuser的用户,密码是1234ab,主机名是localhost.3.查看数据库管理系统中的有哪些用户。4.把myuser用户名改为user0。5.删除user0。10用户管理任务拓展【拓展1】在图形工具软件SQLyog中创建用户user1,密码是123456,主机名是localhost。用户管理11任务拓展【拓展2】在SQLyog中用user1连接数据库。用户管理12互动问答:1.在图形界面下创建一个用户,用户名为user2,密码为1234ab;2.

使用myuser用户来连接数据库.13用户管理复习:1.MySQL用户;2.添加普通用户;3.修改用户和删除用户14用户管理作业:1.线上预习:线上看微课视频“48、49权限管理”;2.本章线上章节测试(如果前几章线上作业没有完成,需要尽快完成)3.线上参加互动问答15用户管理前几章的重点内容:1.主表、从表、主键、外键2.创建数据库;3.创建数据表;4.表结构的修改;5.数据查询;16复习THANKYOU!项目5:数据库安全管理数据库应用任务1用户与权限管理——

权限管理

教学目标

素质目标

知识目标1. 培养学生综合应用知识解决实际问题的能力;2. 培养学生积极的、正向的工作态度。3. 思政内容:本次课讲向用户授权,融入学生们以后毕业后,在掌握一定权限后当慎用手中的权利。1. 了解MySQL权限及权限层级;2. 掌握向普通用户授权的方法;3. 掌握收回用户权限的方法;4. 了解在图形界面下管理用户权限的方法

能力目标1. 具备根据具体项目需求对普通用户授权的能力;2. 具有能够收回用户权限的能力

教学重点根据具体项目需求对普通用户授权

教学难点根据具体项目需求对普通用户授权教学重难点1.评讲作业;2.复习用户的创建与管理方法;3.检查课程预习情况:“新创建的用户有什么权限?”

权限管理21知识储备1.授权授权就是为某个用户授予数据库操作权限。因为对一个新的SQL用户,在没有授予相应权限时,不允许访问属于其他SQL用户的表,也不能创建表。合理的授权可以保证数据库的安全。MySQL的用户权限可以分为多个层级。全局层级:全局权限适用于一个给定服务器中的所有数据库。这些权限存储在mysql.user表中。数据库层级:数据库权限适用于一个给定数据库中的所有目标,这些权限存储在mysql.db和mysql.host表中。表层级:表权限适用于一个给定表中的所有列,这些权限存储在MySQL.tables_priv表中。列层级:列权限适用于一个给定表中的一列,这些权限存储在MySQL.columns_priv表中。子程序层级:CREATEROUTINE、ALTERROUTINE、EXECUTE和GRANT权限适用于已存储的子程序。这些权限有可以授予全局层级和数据库层级。除于CREATEROUTINE外,这些权限可以被授予子程序层级,并存储在MySQL.procs_priv中。权限管理22互动问答:1.为什么要向用户授权?2.MySQL的用户权限可以分为哪些层级?23权限管理知识储备2.MySQL的各种权限账户权限信息被存储在mysql数据库的user、db、host、tables_priv、columns_priv和procs_priv权限表中,在MySQL启动时,服务器将这些数据库权限信息的内容读入内存。在MySQL中使用GRANT语句和REVOKE语句对用户权限进行操作。

其操作的权限表见下表所示。权限管理24知识储备3.为用户授权对新添加的用户,必须要为其授权才能使用户具有相关的操作权限。在MySQL中,对用户的授权就是通过SQL语句GRANT来实现的,其语法规则是:GRANTprive_type[(column_list)]ONdatabase.table|FUNCTON|PROCEDURETOuser[IDENTIFIEDBY[PASSWORD]]’password’][,IDENTIFIEDBY[PASSWORD]]’password’]…[WITH[with_option]…]with-option的取值范围有5个:GRANTOPTION:可以将自己的权限授予其它用户;MAX_QUERIES_PER_HOURcount:设置每小时可以执行count次查询;MAX_UPDATES_PER_HOURcount:设置每小时可以执行count次登录;MAX_CONNECTIONS_PER_HOURcount:设置每小时可以建立count个连接;MAX_USER_CONNECTIONScount:设置单个用户可以同时建立count个连接。权限管理25知识储备4.收回权限收回权限就是取消已经赋予用户的某些权限。通过收回用户一些多余的权限可以更加保证系统的安全性。在MySQL系统中,可以使用REVOKE语句来取消用户的某些权限。语法规则:REVOKEpriv_type1[(column_list1)][,priv_type2[(column_list2)]]...ONdatabase1.table1,database2.table2FROMuser1[,user2…]除了回收部分权限外,在MySQL中还可以一次性将某用户的权限全部回收。语法规则:REVOKEALLPRIVILEGES,GRANTOPTIONFROMuser1[,user2…]注意:使用REVOKE语句收回权限并不是删除该用户;权限管理26互动问答:1.向用户授权的关键字是什么?2.收回用户权限有什么意义?27权限管理任务实施【任务1】授予用户user1在XSCJ.xsqk表上的select权限。mysql>usexscj;mysql>grantselectonxsqktouser1@localhost;向user1用户授予了查询xsqk表的权限后,user1用户就可以使用select语句来查询xsqk表了。权限管理28互动:1.创建一个名为myuser的用户,密码是1234ab,主机名是localhost.2.授予用户myuser在XSCJ.kc表上的select权限。29权限管理任务实施【任务2】授予user1用户在xsqk表的“姓名”列和“学号”列的update权限。mysql>usexscj;mysql>grantupdate(学号,姓名)onxsqktouser1@localhost;向user1用户授予了xsqk表的update权限后,user1用户就可以使用update语句来查询xsqk表中具有修改权限的列了,这里是root用户向user1用户授予了修改“姓名”和“学号”列的权限,而其他列则无权修改。权限管理30任务实施【任务3】授予user1用户在XSCJ数据库中所有表的查询权限。mysql>grantselectonxscj.*touser1@localhost;向user1用户授予了查询数据库XSCJ所有表的权限后,user1用户就可以使用select语句来查询数据库XSCJ中的所有表了(user1用户需要重新连接服务器)。权限管理31互动:1.授予myuser用户在kc表的“课程名”列的update权限。2.授予myuser用户在XSCJ数据库中所有表的查询权限。grantupdate(课程名)onxscj.kctomyuser@localhost;grantselectonxscj.*tomyuser@localhost;32权限管理任务实施【任务4】授予user1用户在XSCJ数据库中的所有数据库权限。mysql>usexscj;mysql>grantallon*touser1@localhost;向用户user1授予了所有数据库权限后,user1用户就拥有了对数据库XSCJ的各项操作权限,如查询,修改,删除等(user1用户需要重新连接服务器)。权限管理33任务实施【任务5】授予user1用户创建新用户的权限。mysql>grantcreateuseron*.*touser1@localhost;向用户user1授予了创建新用户权限后,user1用户就可以创建新用户了。【任务6】回收user1用户修改xsqk表的权限。mysql>revokeupdateonxsqkfromuser1@localhost;回收user1用户修改xsqk表的权限后,user1用户就不能修改xsqk表了。【任务7】查看user1权限。mysql>SHOWGRANTSFORuser1@localhost;权限管理34互动:1.授予myuser用户创建新用户的权限。2.回收myuser用户修改kc表的权限。35权限管理任务拓展【拓展1】在图形工具软件SQLyog中创建用户user2,密码是123456,主机名是localhost;然后:1、将XSCJ数据库中的xsqk表的SELECT权限授予user2;2、将XSCJ数据库中的xsqk表的update权限授予user2;3、授予user2用户创建新用户的权限。

权限管理36互动:1.新建一个用户user0,密码是123456,主机名是localhost,然后:1、将XSCJ数据库中的xsqk表的SELECT权限授予user0;2、将XSCJ数据库中的xsqk表的update权限授予user0;3、授予user0用户创建新用户的权限。37权限管理复习:1.MySQL权限及权限层级;2.向普通用户授权;3.收回用户权限;4.在图形界面下管理用户权限38用户管理作业:1.线上预习:线上看微课视频“50、51数据备份”;2.本章线上章节测试(如果前几章线上作业没有完成,需要尽快完成)3.线上参加互动问答39用户管理第五章

数据查询

的重点内容:1.条件查询;2.排序查询结果;3.聚合函数查询;4.分类汇总查询40复习THANKYOU!项目5:数据库安全管理数据库应用任务2数据备份与还原——

数据备份

教学目标

素质目标

知识目标1. 培养学生对数据备份重要性的深刻理解;2. 培养学生自主学习能力;3. 培养学生综合应用知识解决实际问题的能力;4. 思政内容:本次课学习数据备份,融入培养学生在数据安全保护的意识。1. 了解数据备份的意义;2. 掌握使用mysqldump命令备份数据的方法;3. 了解复制data目录进行备份数据的方法;4. 掌握在工具软件中进行数据备份的方法

能力目标1. 具有对数据库、数据表进行备份的能力;2. 能够在图形界面下完成数据备份

教学重点使用MySQLdump命令备份数据,在工具软件中进行数据备份

教学难点使用MySQLdump命令备份数据教学重难点检查课前预习情况:“为什么要对数据进行备份?”

数据备份45案例46案例47案例48

数据备份的任务与意义:

在于当各种破坏发生后,通过备份的数据可完整、快速、简捷、可靠地恢复原有系统,尽可能的将由于数据库故障引发的各种损失降到最低。使用工具软件实现数据备份49【例1】备份数据库XSCJ中的xs_kc2表。在SQLyog连接到服务器后,找到“对象浏览器”窗格中的XSCJ数据库,然后在XSCJ上单击鼠标右键,选择“备份/导出”→“计划备份”(或通过SQLyog的“数据库”菜单→“备份/导出”)。使用工具软件实现数据备份50练习:1.在工具软件中备份数据库XSCJ中的cj表.51使用工具软件实现数据备份【例2】备份数据库与MySQL数据库系统在SQLyog中备份数据库与备份数据表的方法类似,只是在选择备份对象时有所区别。52使用工具软件实现数据备份练习:2.在工具软件中备份XSCJ数据库。53使用工具软件实现数据备份1.使用MySQLdump命令备份

MySQLdump是MySQL提供的用于数据备份的工具。通过执行MySQLdump命令可以将数据库保存到一个文本文件中,这个文本文件中包含create语句用于创建这个数据库中所有的表结构,以及包含insertinto语句用于插入数据内容。在进行数据还原时,通过执行该文本文件中的create语句和insertinto语句就可以将数据还原到备份时的状态。使用mysqldump命令进行数据备份时分为3种形式:

备份一个数据库中的一个(或多个)表;

备份一个(或多个)数据库;

备份所有数据库。命令方式数据备份54知识储备(一)备份一个数据库中的某个表基本语法规则:mysqldump–uusername-hhostname–pdatabasenametablename[tablename…]>backupname.sql其中:“databasename”表示要备份的表所在的数据库名“tablename”表示要备份的表名“backupname.sql”表示备份文件的名称,包括路径名和备份文件名。55命令方式数据备份任务实施【任务1】备份XSCJ数据库中的kc表,备份文件为xscj_kc.sql,存放到D:\mysqlback文件夹中。首先建立D:\mysqlback文件夹,然后使用备份命令:C:\Users\Administrator>mysqldump-uroot-pxscjkc>d:\mysqlback\xscj_kc.sqlEnterpassword:******上述是备份数据库XSCJ中的一个表,如果需要备份多个表,则在每个表之间用空格隔开,注意不是使用“,”来分隔。如备份数据库XSCJ中的kc、cj、xsqk三个表,使用的备份命令是:C:\Users\Administrator>mysqldump-uroot-pxscjkccjxsqk>d:\mysqlback\xscj_kcn.sqlEnterpassword:******数据备份56练习:1.备份XSCJ数据库中的xsqk表,备份文件为xscj_xsqk.sql,存放到D:\mysqlback文件夹中。2.备份数据库XSCJ中的kc、cj、xsqk三个表,备份文件为xscj_all.sql,存放到D:\mysqlback文件夹中。57数据备份知识储备(2)备份数据库基本语法规则:mysqldump–uusername–pdatabasename>backupname.sql

备份数据库与备份表的区别,就是少了指定某个具体的表名,作用将指定的数据库中所有的表全部备份。数据备份58任务实施【任务2】使用mysqldump备份XSCJ数据库,备份文件为xscj.sql,存放到D:\mysqlback文件夹中。C:\Users\Administrator>mysqldump-uroot-pxscj>d:\mysqlback\xscj.sqlEnterpassword:******说明:这里是备份一个数据库,如果需要备份多个数据库,与备份多个表一样,在各个数据库之间使用空格分隔。数据备份59练习:1.使用mysqldump备份XSCJ数据库,备份文件为xscj.sql,存放到D:\mysqlback文件夹中。60数据备份知识储备(3)备份所有数据库基本语法规则:mysqldump–uusername–p--all-databases>backupname.sql其中,用“–all-databases”代表所有数据库,而不用再指定具体的数据库名了。数据备份61任务实施【任务3】使用mysqldump备份MySQL服务器中的所有数据库,存放到D:\mysqlback文件夹中。C:\Users\Administrator>mysqldump-uroot-p--all-databases>d:\mysqlback\xscj2.sqlEnterpassword:******说明:(1)备份完成后,在D:\mysqlback\xscj2.sql中,包含了对服务器数据库系统中所有数据库的备份,即包括了系统数据库和用户数据库在内的所有数据库;(2)如果打开xscj2.sql这个备份文件(可用任何文字处理软件打开)查看其内容,可以发现该备份文件中包含对所有数据库的恢复命令。数据备份62知识储备2.复制data目录进行备份这种方法属于冷备份,为了保持备份的一致性,需要先将mysql数据库停下来或者LOCKTABLE的加锁操作,然后直接复制C:\ProgramData\MySQL\MySQLServer8.0\Data文件夹到新目录中。这种备份方式的缺点:1.对InnoDB存储引擎的表不适用;2.并且要求在恢复时只能恢复到相同版本的服务器中,不同的版本不兼容。数据备份63练习:1.使用mysqldump备份MySQL服务器中的所有数据库,存放到D:\mysqlback文件夹中。64数据备份复习:1.数据备份的意义;2.使用MySQLdump命令备份数据;3.复制data目录进行备份数据;4.在工具软件中进行数据备份65数据备份作业:1.线上预习:线上看微课视频“50、51权限管理”;2.本章线上章节测试(如果前几章线上作业没有完成,需要尽快完成)3.线上参加互动问答66数据备份第五章

数据查询

的重点内容:1.多表查询;2.子查询67复习THANKYOU!项目5:数据库安全管理数据库应用任务2数据备份与还原——

数据还原

教学目标

素质目标

知识目标1. 培养学生对数据备份重要性的深刻理解;2. 培养学生自主学习能力;3. 培养学生综合应用知识解决实际问题的能力;4. 思政内容:结合本次课学习数据还原,培养学生在数据安全保护的意识。1. 掌握使用mysql命令还原数据的方法;2. 掌握使用source命令还原数据的方法;3. 了解通过复制数据库data目录还原的方法;4. 掌握使用工具软件中进行数据还原的方法

能力目标能够使用命令行方式将备份数据还原到数据库中;能够在图形界面下进行数据还原

教学重点使用mysql命令和source命令还原数据,在工具软件中进行数据还原

教学难点使用mysql命令和source命令还原数据教学重难点1.抽查与评讲作业;2.复习用户的创建与管理方法;3.检查课程预习情况:“如果已登录到MySQL服务器时,可以采用什么命令来还原数据?”

72数据还原知识储备1.使用MySQL命令还原

使用MySQL命令可以在需要时将前面备份的sql文件导入到数据库中,实现数据库的还原,其基本语法格式为:mysql–uuser–p[databasename]<filename.sql其中:“user”是执行备份操作时使用的用户名,如“root”;“-p”是输入用户密码;“databasename”是数据库名,如果“filename.sql”是mysqldump工具创建的包含创建数据库Create语句的文件,执行的时候不需要指定“databasename”。数据还原73知识储备2.使用source命令还原如果已经登录到MySQL服务器,还可以使用source命令导入sql文件,其基本语法规则是:sourcefilename.sql3.通过复制数据库目录还原如果数据库备份是通过复制数据库文件来实现的,在还原时可以直接将备份的文件复制到原MySQL数据目录下实现恢复。这种恢复方式的条件是备份文件的版本号应与现有数据库系统的版本号相同,在还原前需关闭MySQL服务,将备份文件覆盖MySQL的data目录即可。数据还原74互动问答:1.在对数据表还原时,为什么要加上数据库名?75数据还原任务实施【任务1】使用MySQL命令将备份文件“D:\Mysqlback\xscj_kc.sql”还原到数据库XSCJ中。任务分析:备份文件“D:\Mysqlback\xscj_kc.sql”是备份数据表kc的备份文件,因为是对数据表的备份,所以在备份文件“D:\Mysqlback\xscj_kc.sql”中没有Create语句创建数据库XSCJ,所以需要在MySQL命令中包含数据库名XSCJ,否则导入将会失败,如:C:\Users\Administrator>mysql-uroot-p<D:\Mysqlback\xscj_kc.sqlEnterpassword:******ERROR1046(3D000)atline22:Nodatabaseselected数据还原76任务实施【任务1】使用MySQL命令将备份文件“D:\Mysqlback\xscj_kc.sql”还原到数据库XSCJ中。错误提示是没有加上数据库名,失败!因此在还原时需要指定该备份应还原到哪一个数据库中:C:\Users\Administrator>mysql-uroot-pxscj<D:\Mysqlback\xscj_kc.sqlEnterpassword:******C:\Users\Administrator>在加上数据库名XSCJ后才能还原成功。数据还原77任务实施【任务2】使用source导入备份文件D:\Mysqlback\xscj_kc.sql。mysql>usexscjmysql>sourceD:\Mysqlback\xscj_kc.sqlQueryOK,0rowsaffected(0.00sec)QueryOK,0rowsaffected(0.00sec)…其中:(1)在执行sourceD:\Mysqlback\xscj_kc.sql命令之前,需要先使用use命令打开数据库,否则会导致导入失败,因为在xscj_kc.sql文件中,没有指明将内容导入到哪个数据库。(2)在命令成功执时,会出现“QueryOK,0rowsaffected(0.00sec)”提示信息,这说明该命令已成功执行。数据还原78互动问答:1.备份XSCJ数据库中的xsqk表,备份文件为xscj_xsqk.sql,存放到D:\mysqlback文件夹中。C:\>mysqldump-uroot-pxscjxsqk>d:\mysqlback\xscj_xsqk.sql2.使用命令删除数据库XSCJ中的xsqk表。mysql>droptablexskq3.使用MySQL命令将备份文件“D:\Mysqlback\xscj_xsqk.sql”还原到数据库XSCJ中。c:\>mysql-uroot-pxscj<D:\Mysqlback\xscj_xsqk.sql4.使用命令删除数据库XSC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论