MySQL 8.0 参考手册  /  第 6 章 安全

第 6 章 安全

目录

6.1 一般安全问题
6.1.1 安全指南
6.1.2 保证密码安全
6.1.3 使 MySQL 免受攻击
6.1.4 安全相关的 mysqld 选项和变量
6.1.5 如何以普通用户运行MySQL
6.1.6 LOAD DATA LOCAL 的安全注意事项
6.1.7 客户端编程安全指南
6.2 访问控制和账户管理
6.2.1 账户用户名和密码
6.2.2 MySQL提供的权限
6.2.3 授权表
6.2.4 指定账户名
6.2.5 指定角色名称
6.2.6 访问控制,第 1 阶段:连接验证
6.2.7 访问控制,第 2 阶段:请求验证
6.2.8 添加账号、分配权限、删除账号
6.2.9 预留账户
6.2.10 使用角色
6.2.11 账户类别
6.2.12 使用部分撤销的权限限制
6.2.13 权限变更何时生效
6.2.14 分配账户密码
6.2.15 密码管理
6.2.16 服务器对过期密码的处理
6.2.17 可插拔认证
6.2.18 多因素认证
6.2.19 代理用户
6.2.20 账户锁定
6.2.21 设置账号资源限制
6.2.22 MySQL连接问题排查
6.2.23 基于 SQL 的账户活动审计
6.3 使用加密连接
6.3.1 配置 MySQL 使用加密连接
6.3.2 加密连接 TLS 协议和密码
6.3.3 创建 SSL 和 RSA 证书和密钥
6.3.4 使用 SSH 从 Windows 远程连接到 MySQL
6.3.5 重用 SSL 会话
6.4 安全组件和插件
6.4.1 认证插件
6.4.2 连接控制插件
6.4.3 密码验证组件
6.4.4 MySQL 密钥环
6.4.5 MySQL企业审计
6.4.6 审计消息组件
6.4.7 MySQL 企业防火墙
6.5 MySQL 企业数据屏蔽和去标识化
6.5.1 MySQL 企业数据屏蔽和去标识化元素
6.5.2 安装或卸载 MySQL Enterprise Data Masking and De-Identification
6.5.3 使用 MySQL 企业数据屏蔽和去标识化
6.5.4 MySQL企业数据脱敏和去标识化功能参考
6.5.5 MySQL企业数据脱敏和去标识化功能说明
6.6 MySQL企业加密
6.6.1 MySQL企业加密安装升级
6.6.2 配置MySQL企业加密
6.6.3 MySQL 企业加密使用和示例
6.6.4 MySQL企业加密函数参考
6.6.5 MySQL企业加密组件功能说明
6.6.6 MySQL企业加密遗留功能说明
6.7 SELinux
6.7.1 检查 SELinux 是否开启
6.7.2 更改 SELinux 模式
6.7.3 MySQL 服务器 SELinux 策略
6.7.4 SELinux 文件上下文
6.7.5 SELinux TCP 端口上下文
6.7.6 SELinux 故障排除
6.8 FIPS 支持

在考虑 MySQL 安装中的安全性时,您应该考虑范围广泛的可能主题以及它们如何影响 MySQL 服务器和相关应用程序的安全性:

  • 影响安全的一般因素。其中包括选择好的密码、不向用户授予不必要的权限、通过防止 SQL 注入和数据损坏来确保应用程序安全等。请参阅 第 6.1 节,“一般安全问题”

  • 安装本身的安全性。数据文件、日志文件和安装的所有应用程序文件都应受到保护,以确保未经授权的各方无法读取或写入它们。有关详细信息,请参阅 第 2.10 节 “安装后设置和测试”

  • 数据库系统本身的访问控制和安全性,包括被授予访问数据库、视图和数据库中使用的存储程序的用户和数据库。有关详细信息,请参阅第 6.2 节“访问控制和帐户管理”

  • 安全相关插件提供的功能。请参阅 第 6.4 节,“安全组件和插件”

  • MySQL 和您的系统的网络安全。安全性与个人用户的授权有关,但您可能还希望限制 MySQL,使其仅在 MySQL 服务器主机本地可用,或仅在一组有限的其他主机上可用。

  • 确保您对数据库文件、配置和日志文件进行了充分且适当的备份。还要确保您有适当的恢复解决方案并测试您是否能够成功地从备份中恢复信息。请参阅 第 7 章,备份和恢复

笔记

本章中的几个主题也在 安全部署指南中得到解决,该指南提供了部署 MySQL Enterprise Edition Server 的通用二进制分发的过程,具有管理 MySQL 安装安全性的功能。