10bet网址
MySQL Enterprise Backup 8.0用户指南
相关的文档10bet官方网站 本手册下载
PDF (Ltr)- 1.4 mb
PDF (A4)- 1.4 mb


4.3.5进行部分备份

默认情况下,data目录下的数据库子目录下的所有文件都包含在备份中,因此备份包括来自所有MySQL存储引擎、任何第三方存储引擎、甚至该目录下的任何非数据库文件的数据。本节解释可用于有选择地备份或排除数据的选项。

用MySQL企业备份创建不同类型的部分备份有多种方法:

有关所涉及的所有选项的语法细节,请参见第20.8节“部分备份和恢复选项”

重要的

通常,部分备份比完全备份更难恢复,因为备份数据可能不包括组成完整MySQL实例所需的相关部分。特别地,InnoDB表的内部id和其他数据值只能恢复到同一个实例,而不能恢复到不同的MySQL服务器。始终对任何部分备份的恢复过程进行全面测试,以了解相关的过程和限制。

以下是部分备份的一些命令示例。

包括所有名称以。开头的表电磁脉冲备份:

mysqlbackup \——host=localhost——user=mysqluser——protocol=TCP——port=3306 \——backup-dir=$MEB_TEMP_BACKUP_DIR——backup-image=$MEB_BACKUPS_DIR/my。mbi \ \——包括表格=”。emp " \ backup-to-image

的表之外的所有表的备份mysql而且performance_schema数据库:

mysqlbackup \——host=localhost——user=mysqluser——protocol=TCP——port=3306 \——backup-dir=$MEB_TEMP_BACKUP_DIR——backup-image=$MEB_BACKUPS_DIR/my。mbi \——排除表= " ^ (mysql | performance_schema) \”。\ backup-to-image

中所有表的备份销售数据库,但排除具有名称的表硬件

mysqlbackup \——host=localhost——user=mysqluser——protocol=TCP——port=3306 \——backup-dir=$MEB_TEMP_BACKUP_DIR——backup-image=$MEB_BACKUPS_DIR/my。mbi \——包括表格= " ^销售\”。——排除表= " ^ \销售。硬件$" \ backup-to-image

中所有表的备份销售代表数据库,但排除具有名称的表欧亚大陆(部分备份选项支持空格或破折号等特殊字符):

mysqlbackup \——host=localhost——user=mysqluser——protocol=TCP——port=3306 \——backup-dir=$MEB_TEMP_BACKUP_DIR——backup-image=$MEB_BACKUPS_DIR/my。Mbi \——include-tables="^销售代表\."销售代表——排除表= " ^ \。欧亚大陆“\ backup-to-image

备份所有InnoDB表:

mysqlbackup \——host=localhost——user=mysqluser——protocol=TCP——port=3306 \——backup-dir=$MEB_TEMP_BACKUP_DIR——backup-image=$MEB_BACKUPS_DIR/my。Mbi \——only-innodb \备份到映像

你也可以压缩以及通过使用适当的命令选项进行其他类型的选择性备份。

使用遗留选项进行部分备份(已弃用)

重要的

本小节中的信息仅用于使用的遗留选项——包括,这已经被弃用了。若要创建部分备份,请使用——包括表格而且——排除表相反的选项。

请注意

通常,部分备份比完全备份更难恢复,因为备份数据可能不包括组成完整MySQL实例所需的相关部分。特别地,InnoDB表的内部id和其他数据值只能恢复到同一个实例,而不能恢复到不同的MySQL服务器。始终对任何部分备份的恢复过程进行全面测试,以了解相关的过程和限制。

与它的——包括选项,mysqlbackup可以备份一些InnoDB表,但不包括其他表:

  • 的部分备份——包括选项总是包含InnoDB系统表空间和它里面的所有表。

  • 对于存储在system表空间之外的InnoDB表,部分备份只包含那些名称与指定的正则表达式相匹配的表——包括选择。

该操作要求未存储的表单独存储table_name.ibd文件。要将一个InnoDB表放在系统表空间之外,需要在innodb_file_per_tableMySQL配置选项已启用。每一个.ibdFile只保存一个表的数据和索引。

创建的那些InnoDB表innodb_file_per_table都像往常一样存储在InnoDB中系统表空间,并且不能被排除在备份之外。

对于每个具有表数据文件的表,一个表单字符串db_name.table_name是否根据用——包括选择。如果正则表达式匹配完整的字符串db_name.table_name,该表包含在备份中。中指定的扩展形式POSIX1003.2标准。在类unix系统上,适当地引用正则表达式以防止shell元字符的解释。该特性是通过RE2正则表达式库实现的。

生成的备份目录包含备份日志文件和InnoDB数据文件的副本。

重要的是:由于InnoDB系统表空间保存了一个实例中所有数据库的InnoDB表的元数据,在包含其他数据库的服务器上恢复部分备份可能会导致系统失去对其他数据库中的InnoDB表的跟踪。总是在一个新的MySQL服务器实例上恢复部分备份,而不保留任何其他InnoDB表。

例4.22对InnoDB表进行未压缩部分备份

在这个例子中,我们已经配置了MySQL,这样一些InnoDB表就有了自己的表空间。我们做了部分备份,只包括那些InnoDB表测验名称以。开头的数据库ib.的数据库目录的内容测验数据库如下所示。这10张表中有6张(alex1alex2alex3blobt3ibstest0ibstest09)存储在每个表的数据文件中(.ibd文件)。

$ ls /sqldata/mts/test alex2。ibd ibstest0。ibd alex1。ibd blobt3.ibd alex3.ibd ibtest09.ibd

我们运行mysqlbackup——包括选择:

备份一些InnoDB表。$ mysqlbackup——defaults-file=/home/dbadmin/my.cnf——include="^test\.ib. "*”备份# Contents in the backup directory's subdirectory for the test database: $ ls /sqldata-backup/test ibstest0.ibd ibtest09.ibd

的备份目录的子目录测验的备份ibstest0而且ibtest09因为其他InnoDB表不匹配include模式^ \ .ib测试。*


例4.23进行压缩的部分备份

我们已经配置了MySQL,这样每个InnoDB表都有自己的表空间。我们做了部分备份,只包括那些名称以。开头的InnoDB表亚历克斯.的数据库目录的内容测验数据库如下所示。

$ ls /sqldata/mts/test alex2。ibd ibstest0。ibd alex1。ibd blobt3.ibd alex3.ibd ibtest09.ibd

我们运行mysqlbackup——压缩而且——包括选项:

$ mysqlbackup——defaults-file=/home/dbadmin/my.cnf——compress \——include=".*\.(alex|blob)。*”备份

数据库的备份目录测验如下所示。的.ibz文件是压缩的表数据文件。

$ ls /sqldata-backup/test alex1. sqlibz alex2。ibz alex3。ibz blobt3.ibz