从 MySQL Enterprise Backup 3.10 开始,引入了这两个
--include-tables
选项
--exclude-tables
。这些旨在替换、
、 和
的旧选项--include
,
它们与新选项不兼容,将在未来版本中弃用。出于参考目的,我们在旧版部分备份选项的本节末尾包含了有关旧选项的信息
。
--databases
--databases-list-file
--only-innodb-with-frm
要选择要备份或还原的特定数据,请使用本节中描述的部分备份和还原选项。
有关以下选项的部分备份和用法示例的概述,请参阅第 4.3.4 节,“进行部分备份”。另请参阅
第 5.2.4 节,“恢复使用该--use-tts
选项创建的备份”,了解从备份中选择性恢复表。
-
命令行格式 --include-tables=REGEXP
类型 细绳 仅包括那些完全限定名称(以 的形式 )与正则表达式匹配的 表(包括 Innodb 和非 Innodb)以进行备份或恢复。使用的正则表达式语法是 POSIX 1003.2 标准中指定的扩展形式。例如, 匹配 数据库中的表和。在类 Unix 系统上,适当地引用正则表达式以防止解释 shell 元字符。 当使用选项时没有提供正则表达式时, mysqlbackup会抛出错误。
db_name
.table_name
REGEXP
--include-tables=^mydb\.t[12]$
t1
t2
mydb
虽然mysqlbackup理解通过反引号引用数据库或表名(或两者)的 MySQL 约定(请参阅架构对象名称),但无需在正则表达式中包含反引号
--include-tables
。虽然该选项可用于不同类型的备份,但选择性还原仅支持使用可 传输表空间 (TTS)创建的备份(即使用该
--use-tts
选项创建的备份)。该选项还可以与backup-dir-to-image
和image-to-backup-dir
命令一起使用,以在创建或解压缩备份映像时选择表。该选项不能与 legacy
--include
、--databases
、--databases-list-file
或--only-innodb-with-frm
选项一起使用。当与
--exclude-tables
选项 一起使用时,--include-tables
首先应用,这意味着mysqlbackup首先选择由指定的所有表--include-tables
,然后从集合中排除由指定的那些表--exclude-tables
。 -
命令行格式 --exclude-tables=REGEXP
类型 细绳 排除备份或恢复所有表(包括 Innodb 和非 Innodb),其完全限定名称(以 的形式 )与正则表达式匹配 。正则表达式语法是 POSIX 1003.2 标准中指定的扩展形式。例如, 匹配 数据库中的表和。在类 Unix 系统上,适当地引用正则表达式以防止解释 shell 元字符。 当使用选项时没有提供正则表达式时, mysqlbackup会抛出错误。
db_name
.table_name
REGEXP
--exclude-tables=^mydb\.t[12]$
t1
t2
mydb
虽然mysqlbackup理解通过反引号引用数据库或表名(或两者)的 MySQL 约定(请参阅架构对象名称),但无需在正则表达式中包含反引号
--exclude-tables
。虽然该选项可用于不同类型的备份,但选择性还原仅支持使用可 传输表空间 (TTS)创建的备份(即使用该
--use-tts
选项创建的备份)。该选项还可以与backup-dir-to-image
和image-to-backup-dir
命令一起使用,以在创建或解压缩备份映像时选择表。该选项不能与
--include
、--databases
、--databases-list-file
或--only-innodb-with-frm
选项一起使用。当与
--include-tables
选项 一起使用时,--include-tables
首先应用,意思是mysqlbackup首先选择由指定的所有表--include-tables
,然后从集合中排除由指定的那些表--exclude-tables
。 仅供备份。默认情况下,服务器数据目录下的数据库子目录中的所有文件都包含在备份中(详见 第 1.4 节“备份的文件”)。如果
--only-known-file-types
指定该选项,mysqlbackup只备份那些类型的文件,这些文件是 MySQL 或其内置存储引擎的数据文件,除了这些ibdata*
文件外,还具有以下扩展名:.ARM
: ARCHIVE 表元数据.ARZ
: ARCHIVE 表数据.CSM
: CSV 表元数据.CSV
: CSV表格数据.frm
: 表定义.ibd
: InnoDB 表空间使用 file-per-table 模式创建.MRG
:合并存储引擎对其他表的引用.MYD
: MyISAM 数据.MYI
: MyISAM 索引.opt
: 数据库配置信息.par
: 分区定义.TRG
:触发参数.TRN
: 触发命名空间信息
仅供备份。使用此选项时,备份中仅包括 InnoDB 数据和日志文件,而排除其他存储引擎创建的所有文件。通常在不允许连接到mysqld或不需要复制 MyISAM 文件时使用。
该选项与选项不兼容
--slave-info
。--use-tts
[={with-minimum-locking|with-full-locking
}]命令行格式 --use-tts[={with-minimum-locking|with-full-locking}]
类型 枚举 默认值 with-minimum-locking
有效值 with-minimum-locking
with-full-locking
使用可传输表空间 (TTS) 启用 InnoDB 表的选择性备份 。这将与
--include-tables
和--exclude-tables
选项结合使用,以选择要由正则表达式备份的 InnoDB 表。使用 TTS进行备份具有以下优势:备份可以恢复到不同的服务器
不备份 系统表空间 ,节省磁盘空间和I/O资源
表的数据一致性由 MySQL Enterprise Backup 管理
仅支持 MySQL 5.6 及之后版本(因为早期版本的 MySQL 不支持 TTS)
只能备份存储在它们自己的单独表空间中的表(即, 启用innodb_file_per_table 选项创建的表)
不备份非 InnoDB 表
无法备份分区表
不能用于增量备份
备份中不包括二进制日志或中继日志
另请参阅附录 B,MySQL Enterprise Backup的局限性了解一些更小的局限性。
该选项有两个可能的值:
默认:
with-minimum-locking
要使用该
--use-tts
选项, mysqlbackup连接到服务器的用户需要额外的权限;有关详细信息,请参阅 第 4.1.2 节,“将 MySQL 权限授予备份管理员”。--use-tts
恢复使用该选项 创建的备份有一些特殊要求;有关详细信息,请参阅第 5.2.4 节 “恢复使用该 选项创建的备份--use-tts
” 。--rename
= “old_table_name
到new_table_name
”--include-tables
当或--exclude-tables
选项(或两者一起)选择要从使用该--use-tts
选项创建的备份恢复到数据库 时,重命名单个表 。名为 的表重命名old_table_name
为new_table_name
。请注意,使用该选项时:--include-tables
or 选项(或 两者--exclude-tables
一起)必须在 restore 命令中使用才能使--rename
选项生效,除非备份中只有一个表。此外,--include-tables
or--exclude-tables
选项(或两者一起)在使用时应指定一个且仅一个表用于还原--rename
,否则还原将失败。old_table_name
并且new_table_name
可以是完全限定的(包含数据库名称,格式为db_name
.tb_name
)或不是。old_table_name
和 不接受正则表达式new_table_name
。如果与使用或 选项(或两者一起)
old_table_name
指定的表不匹配 ,或者如果已存在于目标数据库中 ,则 还原失败 。--include-tables
--exclude-tables
new_table_name
第 5.2.4 节“恢复使用选件创建的备份”
--use-tts
中列出的要求 适用。
有关选择性恢复的更多信息以及表重命名的示例, 请参阅第 5.2.4 节,“恢复使用该 选项创建的备份”。
--use-tts
传统的部分备份选项
本小节中的信息仅适用于使用、
、 和
的遗留选项--include
,
这些选项将在下一期中弃用。对于创建部分备份,强烈建议
改用和
的新选项。请注意,您不能在单个命令中组合旧的和新的部分备份选项。
--databases
--databases-list-file
--only-innodb-with-frm
--include-tables
--exclude-tables
除了遗留选项之外,下面还讨论了一些其他选项,但该信息仅用于将这些选项与遗留部分备份选项一起使用。
有关这些旧选项的部分备份和使用示例的概述,请参阅使用旧选项进行部分备份。
此选项用于过滤 InnoDB 表以进行备份。根据选项指定的正则表达式检查 InnoDB 表的完全限定名称。如果 REGEXP 匹配 ,则包含该表。使用的正则表达式语法是 POSIX 1003.2 标准中指定的扩展形式。例如, 匹配数据库 中的表和 。当使用选项时没有提供正则表达式时, mysqlbackup 会抛出错误。
db_name
.table_name
--include=mydb\.t[12]
t1
t2
mydb
此选项仅适用于在
innodb_file_per_table
启用 MySQL 选项(这是 MySQL 5.6 及更高版本的默认设置)的情况下创建的 InnoDB 表,在这种情况下,表位于单独的文件中,可以包含在备份中或从备份中排除。InnoDB 系统表空间中的所有表总是被备份。当没有 InnoDB 表名与指定的正则表达式匹配时,将抛出一条错误消息,指示没有匹配项。
默认值:备份所有 InnoDB 表。
笔记此选项不过滤非 InnoDB 表,可以使用
--databases
和 之类的选项。--databases-list-file
重要的该选项不过滤
.frm
与 InnoDB 表关联的文件,这意味着无论该选项的值如何,.frm
所有 InnoDB 表的所有文件总是被备份,除非它们被其他选项排除。在恢复数据库备份之前,应删除那些.frm
未备份的 InnoDB 表文件。有关详细信息,请参阅 使用旧版选项进行部分备份。指定要备份的非 InnoDB 表的列表。该参数指定以下形式的以空格分隔的数据库或表名称列表:
"db_name[.table_name] db_name1[.table_name1] ...".
如果指定的值与任何数据库或表都不匹配,则不会备份任何非 InnoDB 数据文件。有关详细信息,请参阅 使用旧版选项进行部分备份。
默认情况下,备份所有数据库中的所有非 InnoDB 表。
笔记.ibd
该选项对其指定的数据库或表 的 InnoDB 数据文件 (files) 没有过滤效果。要过滤 InnoDB 数据文件,请改用该--include
选项。指定列出要备份的非 InnoDB 表的文件的路径名。该文件包含数据库条目或由换行符或空格分隔的完全限定表名。条目的格式与选项的格式相同
--databases
:db_name[.table_name] db_name1[.table_name1] ...
删除数据库或表名称周围的所有空格,因为不会自动删除空格。
#
以包含注释的字符开始一行。不允许使用正则表达式。如果指定的条目与任何数据库或表都不匹配,则不会备份任何非 InnoDB 数据文件。
笔记.ibd
该选项对其指定的数据库或表 的 InnoDB 数据文件 (files) 没有过滤效果。要过滤 InnoDB 数据文件,请改用该--include
选项。--only-innodb-with-frm
[={all|related}]
仅备份 InnoDB 数据、日志文件和
.frm
与 InnoDB 表关联的文件。--only-innodb-with-frm=all
包括.frm
备份中所有 InnoDB 表的文件。--only-innodb-with-frm=related
,结合--include
选项,只复制.frm
部分备份中包含的表的文件。--only-innodb-with-frm
没有参数与--only-innodb-with-frm=related
.
笔记对于增量备份,即使只备份更改
.ibd
的文件, 也包括.frm
与 所有指定的 InnoDB 表关联的文件。此选项使您不必为 InnoDB 文件编写备份步骤的脚本,这通常是在服务器被 语句
.frm
置于只读状态时执行的。FLUSH TABLES WITH READ LOCK
复制文件时不会将.frm
服务器置于只读状态,因此备份操作是真正的 热备份,不会中断数据库处理。您必须确保在备份过程中没有ALTER TABLE
或其他 DDL 语句更改.frm
InnoDB 表的文件。如果 mysqlbackup检测到任何相关的更改.frm
备份操作期间的文件,它会因错误而停止。如果在备份操作期间禁止 InnoDB 表上的 DDL 不切实际,请改用该--only-innodb
选项并使用在.frm
服务器锁定时复制文件的传统方法。排除由其他存储引擎创建的所有文件。通常在不允许连接到 mysqld或不需要复制 MyISAM 文件时使用,例如,当您确定备份期间没有 DDL 更改时。有关说明和示例, 请参阅 使用旧版选项进行部分备份。
该选项与选项不兼容
--slave-info
。默认值:备份包括来自所有存储引擎的文件。
--use-tts
[={with-minimum-locking|with-full-locking
}]使用可传输表空间 (TTS) 启用 InnoDB 表的选择性备份 。这将与选项结合使用,该
--include
选项选择要由正则表达式备份的 InnoDB 表。使用 TTS 进行备份具有以下优势:备份可以恢复到不同的服务器
不备份 系统表空间 , 节省磁盘空间和I/O资源
表的数据一致性由 MySQL Enterprise Backup 管理
请参阅此处有关使用该
--use-tts
选项 的限制的 重要讨论 。该选项有两个可能的值:
默认值:以最小锁定备份
--use-tts
恢复使用该选项 创建的备份有一些特殊要求 ;有关详细信息,请参阅 第 5.2 节“执行还原操作”中 的说明。