磁带驱动器是用于备份数据的经济实惠的大容量存储设备。MySQL Enterprise Backup 可以与 Oracle Secure Backup (OSB) 等媒体管理软件 (MMS) 连接,以驱动 MySQL 备份和恢复作业。媒体管理软件必须支持第 2 版或更高版本的系统备份到磁带 (SBT) API。
在 MySQL Enterprise Backup 端,您使用参数将备份作业作为单文件备份运行,文件名前面--backup-image
带有前缀,并可选择将其他参数传递给
mysqlbackup以控制 SBT 处理的各个方面。这些选项在第 16.9 节 “单文件备份选项”中列出
。
sbt:
--sbt-*
--sbt-*
在 OSB 端,您可以通过指定调用mysqlbackup的可配置命令来安排 MySQL 企业备份作业。您可以通过定义将这些功能应用于特定备份
的“存储选择器”并使用 MySQL Enterprise Backup 参数将存储选择器的名称传递给 OSB 来控制加密等 OSB 功能
。
--sbt-database-name=
storage_selector
将 MySQL 数据备份到磁带:
指定 mysqlbackup 参数,唯一标识备份数据。前缀将 备份数据发送到 MMS 而不是本地文件,参数值的其余部分用作 MMS 中的唯一备份名称。
--backup-image=sbt:
name
sbt:
指定 mysqlbackup
--sbt-database-name
的参数以使 OSB 操作员能够为来自此 MySQL 源的备份配置存储选择器。(此参数指的是 OSB 操作员定义的 “存储选择器”,而不是任何 MySQL 数据库名称。)默认情况下, mysqlbackup为该 MMS 参数提供一个值 。此选项的参数限制为 8 个字节。MySQL
如果安装了多个媒体管理程序,要选择要使用的特定 SBT 库,请指定 mysqlbackup命令的
--sbt-lib-path
参数。如果不指定该 参数,mysqlbackup将使用正常的操作系统路径和环境变量来定位 SBT 库,该库 在 Linux 和 Unix 系统以及 Windows 系统上命名。当您指定时,除了指定路径之外,您还可以为库使用不同的文件名。--sbt-lib-path
libobk.so
ORASBT.DLL
--sbt-lib-path
--sbt-environment
使用该选项 指定通常由环境变量控制的任何其他特定于产品的设置 。
每次使用 SBT API 对磁带进行在线备份时,除了在表和表中记录备份外
mysql.backup_history
,
还会在备份的 MySQL 实例上的mysql.backup_progress
表中创建一个条目。mysql.backup_sbt_history
通过允许轻松查找有关磁带备份的信息,这有助于磁带备份的管理。表的定义backup_sbt_history
如下所示:
mysql> DESCRIBE `backup_sbt_history`;
+--------------------+---------------+------+-----+---------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------------+---------------+------+-----+---------------------+-------+
| backup_id | bigint(20) | NO | | NULL | |
| backup_file_name | varchar(4096) | NO | | NULL | |
| file_creation_time | timestamp | NO | | 0000-00-00 00:00:00 | |
| file_expiry_time | timestamp | NO | | 0000-00-00 00:00:00 | |
| volume_label | varchar(64) | NO | | NULL | |
| sbt_error_msg | varchar(4096) | NO | | NULL | |
| sbt_error_code | int(11) | NO | | NULL | |
--------------------------------------------------------------------------------
以下是表中字段的说明:
backup_id
:备份的 ID,也记录在mysql.backup_history
和mysql.backup_progress
表中的备份条目中。backup_file_name
:用户通过 选项提供的文件名。--backup-image=sbt:
name
file_creation_time
:磁带备份的创建日期和时间。file_expiry_time
:磁带备份的到期日期和时间。volume_label
:包含磁带备份的物理介质的卷标。sbt_error_msg
:错误消息,当检索磁带备份信息时发生错误。sbt_error_code
:错误代码,当检索磁带备份信息时发生错误。
mysql.backup_sbt_history
如果备份被拆分到多个卷中,则会
在表中创建多个条目,每个卷标一个
。
以下是表中的一些示例条目
mysql.backup_sbt_history
:
mysql> select * from mysql.backup_sbt_history;
+-------------------+------------------+---------------------+---------------------+--------------+---------------+----------------+
| backup_id | backup_file_name | file_creation_time | file_expiry_time | volume_label | sbt_error_msg | sbt_error_code |
+-------------------+------------------+---------------------+---------------------+--------------+---------------+----------------+
| 14377247250385175 | test1.mbi | 2015-07-24 09:59:00 | 0000-00-00 00:00:00 | MySQL-000018 | | 0 |
| 14377259679196369 | test2.mbi | 2015-07-24 10:19:43 | 0000-00-00 00:00:00 | MySQL-000018 | | 0 |
| 14377265350728997 | test3.mbi | 2015-07-24 10:29:10 | 0000-00-00 00:00:00 | MySQL-000018 | | 0 |
| 14377265350728997 | test3.mbi | 2015-07-24 10:29:10 | 0000-00-00 00:00:00 | MySQL-000019 | | 0 |
+-------------------+------------------+---------------------+---------------------+--------------+---------------+----------------+
4 rows in set (0.00 sec)
备份到磁带总是使用一个写入线程。
从磁带恢复 MySQL 数据:
将mysqlbackup 的 参数指定为恢复操作的一部分。使用备份期间使用的相同 值。此单个参数从适当的磁带设备检索适当的数据。
--backup-image=sbt:
name
name
可选择使用该
--sbt-lib-path
选项,使用与备份操作相同的值。--sbt-environment
使用该选项 指定通常由环境变量控制的任何其他特定于产品的设置 。
有关 Oracle Secure Backup 的产品特定信息,请参阅 Oracle Secure Backup 文档。
示例 10.1 示例mysqlbackup命令使用 MySQL Enterprise Backup 和 Oracle Secure Backup
# Uses libobk.so or ORASBT.DLL, at standard locations:
mysqlbackup --port=3306 --protocol=tcp --user=root --password \
--backup-image=sbt:backup-shoeprod-2011-05-30 \
--backup-dir=/backup backup-to-image
# Associates this backup with storage selector 'shoeprod':
mysqlbackup --port=3306 --protocol=tcp --user=root --password \
--backup-image=sbt:backup-shoeprod-2011-05-30 \
--sbt-database-name=shoeprod \
--backup-dir=/backup backup-to-image
# Uses an alternative SBT library, /opt/Other-MMS.so:
mysqlbackup --port=3306 --protocol=tcp --user=root --password \
--backup-image=sbt:backup-shoeprod-2011-05-30 \
--sbt-lib-path=/opt/Other-MMS.so \
--backup-dir=/backup backup-to-image