一、企业版备份:
“工欲善其事,必先利其器”。数据备份是DBA的日常工作,也是保证数据安全的重要工作,要尽善尽美地完成这项工作,必须使用一款高效可靠的备份工具。MySQL在其企业版里提供了一款备份工具——MySQLEnterpriseBackup,简称MEB。
MEB是一款跨平台的高效备份工具,支持在线热备份、增量备份、差异备份、部分备份、压缩备份等一系列主流的备份功能。
MySQLEnterpriseBackup在优化InnoDB表备份的同时,还能够备份和恢复MySQL所支持的各种存储引擎创建的表。读写过程可以由多个线程独立并行进行,不同的线程可以对单个文件的不同块进行读取、写入处理,使得备份和恢复过程能够快速执行,相对于逻辑备份工具mysqldump有显著的性能提升,如图所示。
(一)常见的备份方法:
备份是DBA的日常工作,根据各个系统的不同情况,DBA可以采用不同的备份方法。常见的备份方法如下。
1.完整备份:
完整备份能够备份数据完整的副本。如果用户不需要恢复到特定的时间点,则只需使用完整备份的策略即可满足需要。
例如,如果数据不经常更改或重要程度不高,并且可以容忍损失几天的数据,那么用户可以每天甚至每周运行完整备份。
2.完整备份和增量备份:
用增量备份补充完整备份,使用户能够更频繁地运行备份,并将恢复时间减少到几个小时内。增量备份不需要太多的磁盘空间,可以减少存储需求和成本。
3.完整备份、增量备份和日志备份:
如果用户需要在几分钟内恢复数据,或者恢复到特定时间点,则可以将完整备份和增量备份与事务日志备份结合使用。用户可以使用事务日志的备份应用完整备份、增量备份和前滚。
用户如何选择合适的备份方法,可以参考下图。
二、企业版监控:
MySQL企业版提供了一个监视工具——MySQLEnterpriseMonitor简称MEM。可以使用MEM对MySQL实例和主机进行监视,发现潜在的问题,并将发现的结果通知给管理员,同时提供修正问题的建议。
MEM是一个基于Web的应用程序,主要包括服务管理器和代理两部分,可以监视所有安装类型的MySQL实例,无论是部署在本地,还是部署在云环境。MEM可以监视部署在云环境的实例得益于MEM支持用户选择安装代理。
通常,监视系统都会将代理安装在被监控的主机上,通过代理收集相关数据,MEM也提供这种方式。在这种部署方式下,MEM可以收集到被监视的MySQL主机的硬件相关信息。MEM的架构如图所示。
三、MySQLTDE(TransparentDataEncryption):
MySQL支持透明数据加密。透明数据加密的目的是防止保存在磁盘上的文件被盗用或违规使用,使用该功能可以确保数据库的表空间、日志等文件即使被盗用,也无法读取里面的敏感数据。
(一)MySQLTDE的功能:
InnoDB通过两层密钥架构实现数据的透明加密功能。当表空间文件进行加密时,会产生一个加密的表空间密钥,该密钥保存在表空间文件的文件头中。
当应用程序或者合法用户对表进行访问时,InnoDB会使用一个主密钥对加密的表空间密钥进行解密。主密钥可以进行轮换,表空间密钥无法更改,除非对表空间重新进行加密。
透明数据加密功能依赖于MySQL的keyringplugin实现。现在,MySQL提供如下选项。
1.keyring_file:社区版提供,将钥匙环数据保存在本地的文件中。
2.keyring_encrypted_file:企业版提供,将钥匙环数据保存在本地的加密文件中。
3.keyring_okv:企业版提供,包含一个KMIP客户端,提供一个兼容KMIP的集中管理解决方案,例如,OracleKeyVault、GemaltoKeySecure等。
4.keyring_aws:企业版提供,与AmazonWebServicesKeyManagementService进行通信,用于后端存储。
5.keyring_hashicorp:企业版提供,与HashiCorpVault进行通信,用于后端存储。
一个安全可靠的密钥管理解决方案对安全性和合规要求而言至关重要。用户需要注意,在使用keyring_file和keyring_encryptedfile选项时,无法满足某些合规要求的密钥集中管理。因此,当透明加密功能使用集中式密钥管理解决方案时,该功能被称为“MySQL企业透明数据加密(TDE)”。
内容摘自《MySQL高可用解决方案――从主从复制到InnoDBCluster架构》第十一章
徐轶韬著
本书特点:
本书对MySQL官方提供的高可用解决方案逐一进行介绍,详细阐述每种方案的原理、架构、优缺点以及适用场景,并配合演示说明,能够帮助读者快速理解相关内容。区别于市面上其他MySQL相关图书,本书专注于MySQL官方团队提供的解决方案。此外,本书还介绍了MySQL8.0的部分内容,使读者能够更加全面地了解MySQL的生态和工具。
本书适合:
MySQL初学者;
数据库架构师;
DBA(DatabaseAdministrator数据库管理员);
相关软件开发人员;
组织内部IT负责人。