第13章 MySQL权限与安全管理——软件测试课件PPT
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
13.3.4 查看权限
SHOW GRANTS语句可以显示指定用户的权 限信息,使用SHOW GRANT语句查看账户 信息。
SHOW GRANTS FOR ‘user’@’host’ ;
13.4 访问控制
13.4.1 连接核实阶段 13.4.2 请求核实阶段
13.4.1 连接核实阶段
当连接MySQL服务器时,服务器基于用户 的身份以及用户是否能通过正确的密码验证 身份来接受或拒绝连接。
13.3.2 授权
授权就是为某个用户授于权限。合理的授权 可以保证数据库的安全。MySQL中可以使 用GRANT语句为用户授于权限。
13.3.3 收回权限
收回权限就是取消已经赋于用户的某些权限。 收回用户不必要的权限可以在一定程度上保证 系统的安全性。MySQL中使用REVOKE语句取 消用户的某些权限。
13.2.6 普通用户修改密码
普通用户登录MySQL服务器后,通过SET语 句设置自己的密码。
SET PASSWORD = PASSWORD(‘newpassword’);
13.2.7 root用户密码丢失的解决办法
1.使用--skip-grant-tables选项启动 MySQL服务
2.使用root用户登录和重新设置密码 3.加载权限表
13.2.1 登录和退出MySQL服务器
mysql命令的常用参数以及登录和退出mysql 服务器的方法。
13.2.2 新建普通用户
使用CREATE USER或GRANT语句。 直接操作MySQL授权表。
13.2.3 删除普通用户
1.使用DROP USER语句删除用户 2.使用DELETE语句删除用户
用户通过以下方式来提升MySQL安装的安全性: (1) 为root账户设置密码。 (2) 移除能从本地主机以外的地址访问数据库的root账
户。 (3) 移除匿名账户。 (4) 移除test数据库,该数据库默认可被任意用户甚至
匿名账户访问。
13.6 MySQL 8.0的新特性——管理角色
在MySQL 8.0数据库中,角色可以看成是一些权限的集合,为用户赋予统一的角色 ,权限的修改直接通过角色来进行,无需为每个用户单独授权。
13.5 提升安全性
13.5.1 AES 256加密 13.5.2 密码到期更换策略 13.5.3 安全模式安装
13.5.1 AES 256加密
MySQL 8.0支持多种AES 256加密模式,通 过更大的密钥长度和不同的块模式增强了高 级加密标准。这里主要通过加密函数 AES_ENCODE()和解密函数AES_DECODE() 来提高安全强度。
user表 3个字段(Host,User和Password)
13.4的每个 请求,服务器检查用户要执行的操作,然后 检查是否有足够的权限来执行它。
user、db、host、tables_priv或 columns_priv表
访问控制分为两个阶段:
13.2.4 root用户修改自己的密码
1.使用mysqladmin命令在命令行指定新密码 2.修改mysql数据库的user表 3.使用SET语句修改root用户的密码
13.2.5 root用户修改普通用户密码
1.使用SET语句修改普通用户的密码 2.使用UPDATE语句修改普通用户的密码 3.使用GRANT语句修改普通用户密码
13.1.3 tables_priv表和columns_priv表
tables_priv表用来对表设置操作权限。 columns_priv表用来对表的某一列设置权限。
13.1.4 procs_priv表
procs_priv表可以对存储过程和存储函数设 置操作权限。
13.2 账户管理
13.2.1 登录和退出MySQL服务器 13.2.2 新建普通用户 13.2.3 删除普通用户 13.2.4 root用户修改自己的密码 13.2.5 root用户修改普通用户密码 13.2.6 普通用户修改密码 13.2.7 root用户密码丢失的解决办法
13.3 权限管理
13.3.1 MySQL的各种权限 13.3.2 授权 13.3.3 收回权限 13.3.4 查看权限
13.3.1 MySQL的各种权限
账户权限信息被存储在mysql数据库的user 、db、host、tables_priv、columns_priv 和procs_priv表中。在MySQL启动时,服 务器将这些数据库表内容读入内存。
13.5.2 密码到期更换策略
MySQL 8.0允许数据库管理员手动设置账户 密码过期时间。任何密码超期的账户想要连 接服务端时都必须更改密码。通过设置 default_password_lifetime参数可以设置 账户过期时间。
13.5.3 安全模式安装
MySQL 新增了“安全模式”的安装形式,从而可以避 免用户的数据被泄漏。
13.1.1 user表
User表是MySQL中最重要的一个权限表, 记录允许连接到服务器的帐号信息,里面的 权限是全局级的。
13.1.2 db表和host表
db表和host表是MySQL数据中非常重要的 权限表。db表中存储了用户对某个数据库的 操作权限,决定用户能从哪个主机存取哪个 数据库。host表中存储了某个主机对数据库 的操作权限,配合db权限表对给定主机上数 据库级操作权限做更细致地控制。
第13章 MySQL权限与安全管理
本章内容
13.1 权限表 13.2 账户管理 13.3 权限管理 13.4 访问控制 13.5 提升安全性 13.6 MySQL 8.0的新特性——管理角色 13.7 综合案例——综合管理用户权限
13.1 权限表
13.1.1 user表 13.1.2 db表和host表 13.1.3 tables_priv表和columns_priv表 13.1.4 procs_priv表
下面通过案例来学习如何管理角色。 创建角色,执行语句如下: mysql> CREATE ROLE role_tt; # 创建角色 mysql> GRANT SELECT ON db.* to 'role_tt'; # 给角色role_tt授予查询权限 mysql> CREATE USER ' myuser1'@'%' identified by '123456'; mysql> GRANT 'role_tt' TO 'myuser1'@'%'; mysql> GRANT INSERT ON db.* to 'role_tt'; mysql> REVOKE INSERT ON db.* FROM 'role_tt'; mysql> SELECT * FROM mysql.default_roles; mysql> SELECT * FROM mysql.role_edges; mysql> DROP ROLE role_tt;