16.8部分备份与恢复选项

请注意

从MySQL Enterprise Backup 3.10开始,这两个选项——包括表格而且——排除表都介绍过了。这些是为了取代旧的选项——包括——数据库——databases-list-file,——only-innodb-with-frm,这些选项与新选项不兼容,将在未来的版本中弃用。为供参考,我们在本节末尾包含了关于较老选项的信息——use-tts选择”,用于从备份中选择性地恢复表。

然而,该选项有以下局限性:

  • 分区表的备份和恢复只支持MySQL 5.7.4及以后版本。另外,不能有选择地备份或恢复单个分区。所选择的表——包括表格而且——排除表选项总是完整地备份或恢复。

  • 只能备份存储在它们自己的表空间中的表(即,用innodb_file_per_table选择启用)

  • 非innodb表不备份

  • 对于部分备份,不会包含加密的InnoDB表(当跳过匹配表选择条件的加密InnoDB表时,日志文件中会发出警告)。

  • 不能用于增量备份

  • 备份中不包括二进制日志或中继日志

另请参阅

默认值:with-minimum-locking

要使用——use-tts选项,则需要用户通过该选项获得额外的特权mysqlbackup连接到服务器;看到——use-tts选择;看到——use-tts选择”获取详细信息。

  • ——重命名old_table_namenew_table_name

    控件选择单个表时,对该表进行重命名——包括表格——排除表选项(或两者一起)将从使用——use-tts选择。表名为old_table_name重命名为new_table_name.注意,当使用该选项时:

    看到——use-tts选择”,了解更多关于选择性恢复的信息,以及表重命名的示例。

  • 遗留部分备份选项

    重要的

    本小节中的信息仅用于使用的遗留选项——包括——数据库——databases-list-file,——only-innodb-with-frm,该选项将在后续版本中弃用。对于创建部分备份,强烈建议使用新的选项——包括表格而且——排除表用它来代替。注意,您不能在单个命令中组合旧的和新的部分备份选项。

    除了遗留选项之外,下面还将讨论一些其他选项,但这些信息仅用于将这些选项与遗留部分备份选项一起使用。

    有关这些遗留选项的部分备份概述和使用示例,请参见

    • ——包括正则表达式

      该选项用于过滤用于备份的InnoDB表。InnoDB表的全限定名根据选项指定的正则表达式进行检查。如果REGEXP匹配db_nametable_name,包含表格。使用的正则表达式语法是POSIX 1003.2标准中指定的扩展形式。例如,——包括= mydb \ .t [12]匹配表t1而且t2在数据库中mydbmysqlbackup当使用该选项而不提供正则表达式时,抛出错误。

      这个选项只适用于用MySQL选项创建的InnoDB表innodb_file_per_table启用(这是MySQL 5.6及以后版本的默认设置),在这种情况下,表位于独立的文件中,可以从备份中包含或排除这些文件。InnoDB系统表空间中的所有表都会进行备份。

      当没有InnoDB表名与指定的正则表达式匹配时,抛出一个错误并提示没有匹配的消息。

      默认值:备份所有InnoDB表。

      请注意

      该选项不过滤非innodb表,对于该选项——数据库而且——databases-list-file可以使用。

      重要的

      选项不过滤.frm与InnoDB表相关的文件,这意味着不管选项的值是多少,所有的.frm所有InnoDB表的文件都会被备份,除非它们被其他选项排除。那些.frm在恢复数据库备份之前,请先删除未备份的InnoDB表文件。看到

      ——数据库列表

      指定要备份的非innodb表的列表。参数指定一个以空格分隔的数据库或表名列表,格式如下:

      db_name(。table_namedb_name1(。table_name1]…”。

      如果指定的值与任何数据库或表不匹配,则不备份非innodb数据文件。看到使用遗留选项进行部分备份获取详细信息。

      默认情况下,备份所有数据库中的所有非innodb表。

      请注意

      该选项对InnoDB数据文件(.ibd文件)用于指定的数据库或表。要过滤InnoDB数据文件,可以使用——包括选项。

    • ——databases-list-file路径

      指定列出要备份的非innodb表的文件路径名。该文件包含数据库或用换行符或空格分隔的完全限定表名的条目。条目的格式与——数据库选择:

      db_name(。table_namedb_name1(。table_name1)……

      删除数据库或表名周围的任何空格,因为这些空格不会自动删除。开始一行字符以包含注释。不允许使用正则表达式。

      如果指定的表项与任何数据库或表不匹配,则不备份非innodb数据文件。

      请注意

      该选项对InnoDB数据文件(.ibd文件)用于指定的数据库或表。要过滤InnoDB数据文件,可以使用——包括选项。

    • ——only-innodb-with-frm(={相关的所有|})

      只备份InnoDB数据、日志文件和.frm与InnoDB表相关的文件。

      • ——only-innodb-with-frm =包括.frm备份所有InnoDB表的文件。

      • ——only-innodb-with-frm =相关,结合——包括选项,仅复制.frm部分备份中包含的表的文件。

      • ——only-innodb-with-frm没有论据是一样的——only-innodb-with-frm =相关

      请注意

      对于增量备份,甚至只更改.ibd备份文件,.frm所有包含指定的InnoDB表。

      这个选项使你不必为InnoDB编写备份步骤的脚本.frm类将服务器置于只读状态时,通常会执行此操作用读锁刷新表声明。的.frm在不将服务器置于只读状态的情况下复制文件,因此备份操作为trueALTER TABLE或其他DDL语句更改.frm在备份过程中,为InnoDB表备份文件。如果mysqlbackup检测任何相关的更改.frm在备份操作期间,将停止并出现错误。如果在备份操作期间禁止对InnoDB表执行DDL是不实际的,那么可以使用——only-innodb选项,并使用传统方法复制.frm当服务器被锁定时,文件。

      所有由其他存储引擎创建的文件将被排除在外。通常用于没有连接mysqld或者当不需要复制MyISAM文件时,例如,当您确定在备份期间没有DDL更改时。看到——slave-info选择。

      默认值:备份包括所有存储引擎的文件。

    • ——use-tts[= {with-minimum-locking | with-full-locking})

      启用InnoDB表的选择性备份——包括选项,它选择要用正则表达式备份的InnoDB表。使用

    查看重要讨论在这里关于使用的限制——use-tts选择。

    该选项有两种可能的值: