11.3 表导出实用程序

MySQL Shell 的表导出实用程序 util.exportTable()在 MySQL Shell 8.0.22 中引入,可将 MySQL 关系表导出到本地服务器上或 Oracle Cloud Infrastructure 对象存储存储桶中的数据文件中。然后可以使用 MySQL Shell 的并行表导入实用程序util.importTable()(请参阅 第 11.4 节“并行表导入实用程序” )将数据上传到目标 MySQL 服务器上的表中,该实用程序使用并行连接为大型数据文件提供快速数据导入。数据文件还可用于将数据导入到不同的应用程序,或作为单个数据表的轻量级逻辑备份。

  • 关于实用程序
  • 要求和限制
  • 运行实用程序
  • 选项
  • OCI 云基础设施选项
  • S3 兼容服务的选项
  • Microsoft Azure Blob 存储选项

关于实用程序

默认情况下,表导出实用程序会为 MySQL Shell 并行表导入实用程序生成默认格式的数据文件。预设选项可用于导出 DOS 或 UNIX 系统的 CSV 文件以及 TSV 文件。表导出实用程序无法生成 JSON 数据。您还可以为语句设置字段和行处理选项, SELECT...INTO OUTFILE以创建任意格式的数据文件。

util.exportTable()可以与分区表和子分区表一起使用,但不对这些表执行任何特殊处理。无论发行版本如何,此实用程序始终为每个表创建一个文件。

选择表导出文件的目标时,请注意,要导入到 MySQL 数据库系统,运行并行表导入实用程序的 MySQL Shell 实例必须安装在有权访问 MySQL 数据库系统的 Oracle Cloud Infrastructure 计算实例上。如果将表导出到对象存储存储桶中的文件,则可以从计算实例访问对象存储存储桶。如果您在本地系统上创建表导出文件,则需要使用您选择的复制实用程序将其传输到 Oracle Cloud Infrastructure 计算实例,具体取决于您为计算实例选择的操作系统。

要求和限制

以下要求适用于使用表导出实用程序的导出:

  • 源MySQL实例和目标MySQL实例均需要MySQL 5.7或更高版本。
  • 用于将文件传输到 Oracle Cloud Infrastructure 对象存储存储桶的上传方法的文件大小限制为 1.2 TiB。

运行实用程序

表导出实用程序使用 MySQL Shell 全局会话来获取执行导出的目标 MySQL 服务器的连接详细信息。在运行该实用程序之前,您必须打开全局会话(可以具有 X 协议连接或经典 MySQL 协议连接)。该实用程序为每个线程打开自己的会话,从全局会话复制连接压缩和 SSL 选项等选项,并且不会进一步使用全局会话。您可以限制最大数据传输速率以平衡网络负载。

在MySQL Shell API中,表导出实用程序是全局对象的函数util,并具有以下签名:

util.exportTable(table, outputUrl[, options])