Mysql数据库技术Mysql数据库技术应用(微课版)课件 项目7 视图、索引和事务 (2).pptx
项目6数据库维护;任务1用户管理;任务1用户管理;任务1用户管理;示例
例2:CREATEUSERt1@localhostIDENTIFIEDBY123’;
SELECTuser,hostFROMuser;
;示例
例3:CREATEUSERt2IDENTIFEDBY123456’;
SELECTuser,hostFROMuser;
;示例
例4:CREATEUSERt1;
SELECTuser,hostFROMuser;
;任务1用户管理;任务1用户管理;任务1用户管理;一、基本概念
1、用户账户
在Mysql中,每个用户都通过一个唯一的用户名和主机名组合来标识。
用户名:区分不同的用户;
主机名:指定用户可以从哪些主机连接到数据库服务器。
2、权限类型
数据访问权限:SELECT、INSERT、UPDATE、DELETE等;
数据定义权限:CREATE、DROP、ALTER等;
管理权限:GRANTOPTION、PROCESS等。;3、权限级别
全局级别:适用于整个MySQL服务器;
数据库级别:适用于特定的数据库;
表级别:适用于特定的表;
列级别:进一步细化到表的特定列。
用户权限级别
管理员用户:能够执行所有的数据库操作,包括:创建和删除数据库、表以及存储过程等;
开发人员用户:能够修改数据库结构和编写存储过程,但不需要对数据库进行全局管理;
普通用户:只对特定的表进行数据的查询和插入操作。;二、查看权限
语法格式:SHOWGRANTSFOR用户名@主机名
说明:对新用户查看其权限时,显示结果中的USAGE代表无权限。
例8:SELECTuser,hostFROMmysql.user,
SHOWGRANTSFORteach1@localhost;
;三、授予权限
语法格式:
GRANT权限[列名列表]ON[目标]{表|*|*.*|库名.*}
;说明:
权限:权限的名称,可以有多个,如SELECT、DELETE等。可以给不同对象授予不同的权限。
ON关键字:要授予权限的数据库名或表名,目标可以是表(TABLE)、函数(FUNCTION)、存储过程(PROCEDURE)等。
·表名:表级权限,适用于指定数据库中的所有表。
*:当前数据库的数据库级权限。
*.*:全局权限,适用于所有数据库和所有表。
库名.*:指定数据库中的所有表。
TO子句用来设定用户和密码。
权限还可以是“CREATEUSER”和“SHOWDATABASES”。
WITH权限限制:使用WITHGRANTOPTION子句,将自己的权限授予其他用户,而不管该用户有无此权限。
;示例
例9:GRANTCREATE,UPDATE,SELECTONdbschool.*TOteach1@localhost;
SHOWGRANTSFORteach1@localhost;
;示例
例10:GRANTCREATEUSERON*.*TOteach1@localhost;
SHOWGRANTSFORteach1@localhost;;例11:root用户授权给teach1用户。其操作命令如下:
GRANTINSERTONdbschool.classTOteach1@localhostWITHGRANTOPTION;
teach1将INSERT权限和SELECT权限授予用户teach2。其操作命令如下:
GRANTINSERT,SELECTONdbschool.classTOteach2;
;四、回收权限
语法格式:
(1)REVOKE权限[列名列表]ON{表|*|*.*|库名.*}FROM用户
或
(2)REVOKEALLPRIVILEGES,GRANTOPTIONFROM用户
说明:
REVOKE可以回收用户权限,但不删除该用户,用法与GRANT相似,但效果相反。格式(1)回收用户的指定权限,格式(2)回收用户的所有权限。
;例12:SHOWGRANTSFORteach1@localhost;
REVOKEUPDATEONdbschool.*FROMteach1@localhost;
;一、MySQL数据库的备份
1、逻辑备份(mysqldump)
概念:是指将数据描述从MySQL数据库导出到SQL文件中。mysqldump