第8章 数据库安全管理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第8 章
数据库安全管理
例8.9 收回U_student1用户对D_sample sc表的 第1章数据库中 数据库技术基础 成绩列的UPDATE权限。SQL语句如下: revoke update(成绩) on D_sample.sc from U_student1@localhost; 8.3.4 查看权限 1.使用SELECT语句查看权限 例8.10 使用SELECT语句查看user表中用户的基本权限信 息。SQL语句如下: select host,user,select_priv,insert_priv,update_priv,delete_priv, create_priv,drop_priv,alter_priv,show_db_priv,create_use r_priv from mysql.user;
第8 章
学习内容
数据库安全管理
第1章 数据库技术基础
8.1 MySQL的安全性 8.2 用户管理 8.3 权限管理 课堂实践1:创建数据管理员用户 8.4 日志文件 8.5 数据备份与恢复 课堂实践2:备份教务管理系统数据库
第8 章
8.1 MySQL的安全性
数据库安全管理
第1章 数据库技术基础
8.1.1 MySQL安全性概述 数据库的安全控制有多种措施,通常使用用户和权限 管理的方法。用户管理用来阻止非法的用户登录到数 据库服务器中,而利用操作权限管理来控制越权的非 法操作。 8.1.2 MySQL安全管理等级 MySQL安全管理等级包括: 1.操作系统安全性 2.服务器安全性 3.数据库安全性 4.数据库对象安全性
第8 章
数据库安全管理
2.删除错误日志文件 第1章 数据库技术基础 使用mysqladmin命令删除错误日志。其命令如下: mysqladmin -u root -p flush-logs 8.4.3 通用查询日志 1.查看通用查询日志开启状态 使用SHOW GLOBAL语句查看通用查询日志开启状态。 SQL语句如下: show global variables like ‘general_log%’; 设置通用查询日志功能为开启状态,SQL语句如下: set global general_log='on'; 2.查看通用查询日志信息 查看通用查询日志信息。SQL语句如下: show create table mysql.general_log \G;
第8 章
数据库安全管理
第1章 数据库技术基础 课堂实践1:创建数据管理员用户
1.使用GRANT语句,创建一个数据管理员用户U_eams ,密码为system123。用户U_eams对D_eams数据库的 数据有查询和更新权限,并授予GRANT权限。SQL语 句如下: grant select,update on D_eams.* to U_eams@localhost identified by ‘system123’ with grant option; 2.以数据管理员U_eams用户身份登录MySQL服务器, 操作步骤为: (1)打开命令行窗口,进入MySQL安装目录下的bin目录: cd C:\Program Files\MySQL\MySQL Server 5.7\bin (2)通过mysql命令来登录MySQL服务器。命令如下: mysql -h localhost -u U_eams -psystem123
第8 章
数据库安全管理
例8.12 使用SHOW BINLOG EVENTS 语句查看从指定的事 第 1章 数据库技术基础 件位置开始的二进制日志信息。SQL语句如下: show binlog events from 98886 limit 3\G; 4.删除二进制日志文件 (1)删除所有二进制日志文件 语法格式如下: RESET MASTER; (2)删除部分二进制日志文件 其语法格式如下: PURGE {MASTER | BINARY} LOGS {TO '日志文件名' | BEFORE 'date'}; 8.4.2 错误日志 1.查看错误日志 使用SHOW GLOBAL语句查看错误日志。SQL语句如下: show global variables like ‘%log_error%’;
第8 章
数据库安全管理
8.3.3 收回权限 第1章 数据库技术基础 (1)收回所有权限 其语法格式如下: REVOKE ALL PRIVILEGES,GRANT OPTION FROM <用户> [,<用户>][,…n]; 例8.8 使用REVOKE语句收回U_student用户的所有权限, 包括GRANT权限。SQL语句如下: revoke all privileges,grant option from U_student@localhost; (2)收回指定权限 其语法格式如下: REVOKE <权限名称> [(列名)][,<权限名称> [(列名)]][,…n] ON {表名或视图名|*|*.*|数据库名.*|数据库名.表名或 视图名} FROM <用户> [,<用户>][,…n];
MySQL数据库应用与实践教程
卜耀华 石玉芳 编著
第8 章
学习要点
数据库安全管理
第1章 数据库技术基础 通过本章的学习,能够了解数据的安全控制机制;掌 握数据库安全控制的各种方法。能够对MySQL数据库中的 用户和权限进行管理;能够对MySQL日志文件进行管理; 熟悉每种数据备份与数据恢复的使用。
第8 章
数据库安全管理
2.使用SHOW GRANTS语句查看权限 第1章 数据库技术基础 使用SHOW GRANTwk.baidu.com语句可以查看指定用户的权限信息, 其语法格式如下: SHOW GRANTS FOR <用户>; 例8.11 使用SHOW GRANTS语句查看U_student1用户的 权限信息。SQL语句如下: show grants for U_student1@localhost;
第8 章
8.4 日志文件
数据库安全管理
第1章 数据库技术基础
8.4.1 二进制日志 1.查看二进制日志开启状态 使用SHOW GLOBAL语句查看二进制日志开启状态。SQL 语句如下: show global variables like ‘%log_bin%’; 2.查看二进制日志大小 使用SHOW BINARY LOGS语句查看当前服务器使用的二 进制文件及其大小。SQL语句如下: show binary logs; 3.查看二进制日志信息 使用SHOW BINLOG EVENTS语句查看二进制日志信息。 其语法格式如下: SHOW BINLOG EVENTS [IN '日志文件名'] [FROM 位置] [LIMIT [offset,] 行数];
第8 章
数据库安全管理
8.4.4 慢查询日志 第1章 数据库技术基础 1.查看慢查询日志开启状态 使用SHOW GLOBAL语句查看慢查询日志开启状态。SQL 语句如下: show global variables like ‘slow_query_log%’; 2.查看慢查询日志信息 查看慢查询日志信息。SQL语句如下: select * from mysql.slow_log;
第8 章
数据库安全管理
权限的管理包含如下两个内容。第1章 数据库技术基础 (1)授予权限:允许用户具有某种操作权。 (2)收回权限:不允许用户具有某种操作权,或者收回 曾经授予的权限。 8.3.2 授予权限 在MySQL中,使用GRANT语句授予权限。拥有GRANT权 限的用户才可以执行GRANT语句。其语法格式如下: GRANT <权限名称> [(列名)][,<权限名称> [(列名)]][,…n] ON [TABLE|FUNCTION|PROCEDURE] {表名或视图名|*|*.*|数据库名.*|数据库名.表名或视 图名} TO <用户>[IDENTIFIED BY [PASSWORD] '密码'] [,<用户> [IDENTIFIED BY [PASSWORD] '密码']][,…n] [WITH GRANT OPTION];
第8 章
数据库安全管理
8.2.2 修改用户名和密码 第1章 数据库技术基础 1.修改用户名 语法格式如下: RENAME USER <旧用户名> TO <新用户名> [,<旧用户名n> TO <新用户名n>][,…]; 例8.2 将用户U_student1的名称改为U_stu1。SQL语句如 下: rename user U_student1@localhost to U_stu1; 2.修改用户密码 语法格式如下: SET PASSWORD [FOR 用户]= PASSWORD('新密码'); 例8.3 将用户U_student2的密码修改为abc123。SQL语句 如下: set password for U_student2@localhost = password('abc123');
第8 章
数据库安全管理
8.2.3 删除用户 第1章 数据库技术基础 使用DROP USER语句可删除一个或多个MySQL用户,并 取消其权限。DROP USER语句必须拥有MySQL数据库的 全局CREATE USER权限或DELETE权限。其语法格式如下: DROP USER <用户>[,…]; 例8.4 删除U_stu1和U_student2用户。SQL语句如下: drop user U_stu1,U_student2@localhost;
第8 章
8.2 用户管理
数据库安全管理
第1章 数据库技术基础
8.2.1 创建用户 在MySQL中,使用CREATE USER语句创建用户。其语法 格式如下: CREATE USER <用户> [IDENTIFIED BY [PASSWORD] '密码'] [,用户n [IDENTIFIED BY [PASSWORD] '密码n']][,…]; 例8.1 创建两个新用户U_student1和U_student2。密码 分别为1234和5678。SQL语句如下: create user U_student1@localhost identified by ‘1234’, U_student2@localhost identified by ‘5678’; use mysql; select user,host,authentication_string from user;
第8 章
8.3 权限管理
数据库安全管理
第1章 数据库技术基础
8.3.1 权限概述 (1)列权限:作用于在一个给定表的单个列。例如,使 用UPDATE语句更新student表中学号列值的权限。 (2)表权限:作用于一个给定表的所有列。例如,使用 SELECT语句查询student表的所有数据的权限。 (3)数据库权限:作用于一个给定数据库的所有表。例 如,在已有的D_sample数据库中创建新表的权限。 (4)全局权限:作用于一个给定服务器上的所有数据库。 例如,删除已有的数据库或者创建一个新的数据库的 权限。
第8 章
数据库安全管理
例8.5 使用GRANT语句创建一个新用户 ,密码 第1章 U_student 数据库技术基础 为studentpwd。用户U_student对所有的数据有查询和 插入权限,并授予GRANT权限。SQL语句如下: grant select,insert on *.* to U_student@localhost identified by ‘studentpwd’ with grant option; 例8.6 使用GRANT语句将D_sample数据库中student表的 DELETE权限授予用户U_student。SQL语句如下: grant delete on D_sample.student to U_student@localhost; 例8.7 使用GRANT语句将D_sample数据库中sc表的成绩 列的UPDATE权限授予用户U_student1。SQL语句如下: grant update(成绩) on D_sample.sc to U_student1@localhost;
相关文档
最新文档