11.3表导出工具

MySQL壳表的出口效用util.exportTable ()在MySQL中,介绍了壳牌8.0.22,出口MySQL关系表到一个数据文件,在本地服务器上或在Oracle云基础设施对象存储桶。数据可以被上传到一个表在一个目标使用MySQL壳牌的MySQL服务器并行表导入实用程序util.importTable ()(见选择……到输出文件语句来创建任意格式的数据文件。

在选择目的地时表导出文件,请注意,对于导入到一个MySQL数据库系统,并行运行的MySQL Shell实例表导入实用程序必须安装在一个甲骨文云基础设施计算实例访问MySQL数据库系统。如果表导出到一个文件在一个对象存储桶中,您可以访问对象存储桶的计算实例。如果你创建表导出文件在您的本地系统,您需要将其传输到甲骨文云基础设施使用您所选择的复制效用计算实例,根据您选择的操作系统为你的计算实例。

下列条件适用于出口使用表导出实用程序:

  • MySQL 5.7或更高版本是MySQL实例所需的来源和目的地MySQL实例。

  • 上传方法用来传输文件到一个甲骨文云基础设施对象存储桶的文件大小限制为1.2 TiB。

表导出实用程序使用MySQL壳牌全球会话获得目标MySQL服务器的连接细节的出口。你必须打开全球会话(可以有一个X协议连接或者一个经典的MySQL协议连接)之前运行该实用程序。实用程序打开自己的会话为每个线程,复制选项,例如连接压缩和SSL选项从全球会话,并且不做任何进一步的全球会议。您可以限制的最大数据传输速率来平衡网络负载。

在MySQL壳API,表出口效用的函数跑龙套全局对象,以下签名:

跑龙套。exportTable(表,outputUrl[选项])

关系数据表的名称是出口到数据文件。表名可以用一个有效的模式名称,合格和撇号字符如果需要引用。如果省略该模式,主动模式使用MySQL壳牌全球会议。

如果你是导出数据到本地文件系统,outputUrl是一个字符串指定的路径导出的数据文件,文件名本身,一个适当的扩展。您可以指定绝对路径或相对于当前工作目录的路径。你可以的本地目录路径前缀文件:/ /模式。在这个例子中在MySQL壳牌的JavaScript模式下,用户出口员工表的人力资源模式使用默认的方言。文件被写入出口在用户的主目录目录,给出. txt扩展适合这种格式的文件:

shell-js > util.exportTable(“人力资源。员工”,”文件:/ //home/hanna/exports/employees.txt")

出口前的目标目录必须存在,但它并不一定是空的。如果导出的数据文件已经存在,覆盖。导出到一个本地目录,创建数据文件访问权限rw-r - - - - - -(支持在这些操作系统)。文件的所有者的用户帐户运行MySQL壳。

如果你向Oracle云基础设施出口数据对象存储桶中,outputUrl数据文件的名称在桶中,包括一个合适的文件扩展名。您可以包括目录分隔符来模拟一个目录结构。使用osBucketName选项提供对象存储桶的名称,和osNamespace选择确定桶的命名空间。在这个例子中在MySQL Python Shell的模式下,用户出口员工表的人力资源模式是一个对象存储桶TSV格式的文件hanna-bucket:

shell-py > util.export_table(“人力资源。员工”、“转储/员工。tsv”,{ > dialect: "tsv", "osBucketName": "hanna-bucket", "osNamespace": "idx28w1ckztq" })

显示一个对象存储桶的名称空间桶的信息桶的细节页面的标签在甲骨文云基础设施控制台中,或者可以使用Oracle云基础设施获得命令行接口。建立连接的对象存储桶使用缺省概要文件默认甲骨文云基础设施CLI配置文件,或替代您指定使用的细节ociConfigFileociProfile选项。为建立一个CLI指令配置文件,看看SDK和CLI配置文件

util.exportTable ()可以使用分区和subpartitioned表,但不执行任何特殊处理。每个表创建一个文件总是这个实用程序,无论发布版本。

选项是一个字典的选项,可以省略,如果它是空的。以下选项可用于表导出实用程序:

方言:[默认csv | | csv-unix | tsv)

指定一组字段,线路管理选项的格式导出的数据文件。您可以使用所选的方言为基础进行进一步定制,也通过指定一个或多个linesTerminatedBy,fieldsTerminatedBy,fieldsEnclosedBy,fieldsOptionallyEnclosed,fieldsEscapedBy选项来更改设置。

默认方言产生一个数据文件匹配创建使用选择……到输出文件声明语句的默认设置。. txt是一个适当的文件扩展名来分配这些输出文件。其他方言可以出口CSV文件DOS或UNIX系统(. csv),TSV文件(. tsv)。

设置每个方言申请如下:

表11.1方言设置表导出功能

方言

linesTerminatedBy

fieldsTerminatedBy

fieldsEnclosedBy

fieldsOptionallyEnclosed

fieldsEscapedBy

默认的

(低频)

(选项卡)

(空)

\

csv

[CR][如果]

,

真正的

\

csv-unix

(低频)

,

\

tsv

[CR][如果]

(选项卡)

真正的

\


请注意
  1. 方言的回车和换行值是操作系统无关的。

  2. 如果你使用linesTerminatedBy,fieldsTerminatedBy,fieldsEnclosedBy,fieldsOptionallyEnclosed,fieldsEscapedBy选项,这取决于逃避约定你的命令解释器,反斜杠字符(\)可能需要翻了一番,如果你使用的选项值。

  3. 喜欢的MySQL服务器选择……到输出文件声明,MySQL壳不验证您指定的领域——和线路管理选项。这些选项会导致数据的不准确的选择出口部分或不正确。总是开始出口前验证您的设置,并验证结果。

linesTerminatedBy:“字符

一个或多个字符(或空字符串)的实用程序终止导出的数据文件中的每一行。指定的默认是方言,或换行字符(\ n如果省略了方言选项。这个选项是相当于行终止,选择选择……到输出文件声明。注意,该实用程序不提供一个等效的行开始,选择选择……到输出文件声明中,这是设置为空字符串。

fieldsTerminatedBy:“字符

一个或多个字符(或空字符串)的实用程序终止的每个字段导出的数据文件中。指定的默认是方言,或制表符(\ t如果省略了方言选项。这个选项是相当于字段终止的选择选择……到输出文件声明。

fieldsEnclosedBy:“字符

一个字符(或空字符串)的实用程序中每个字段包含导出的数据文件。指定的默认是方言,方言或空字符串,如果选择是省略。这个选项是相当于农田包围选择选择……到输出文件声明。

fieldsOptionallyEnclosed(真|假):

是否给定的字符fieldsEnclosedBy附上所有导出的数据文件中的字段(),或者将一个字段只有一个字符串数据类型等字符,二进制,文本,或枚举(真正的)。指定的默认是方言,或如果省略了方言选项。此选项使fieldsEnclosedBy选择相当于字段选择包围选择选择……到输出文件声明。

fieldsEscapedBy:“字符

开始的字符转义序列在导出的数据文件中。指定的默认是方言,或者一个反斜杠(\)如果省略方言选项。这个选项是相当于字段逃跑了选择选择……到输出文件声明。如果这个选项设置为空字符串,不逃出来的人物,这是不可取的,因为所使用的特殊字符选择……到输出文件必须转义。

osBucketName:“字符串

甲骨文云基础设施的名称对象存储桶的导出的数据文件编写。默认情况下,(默认)在Oracle云基础设施位于CLI配置文件~ / .oci /配置用于建立一个连接到桶里。你可以用另一个概要文件用于连接的ociConfigFileociProfile选项。为建立一个CLI指令配置文件,看看SDK和CLI配置文件

osNamespace:“字符串

甲骨文云基础设施名称空间的对象存储桶被osBucketName所在地。名称空间为一个对象存储桶桶的桶信息选项卡中显示详细信息页面在甲骨文云基础设施控制台中,或者可以使用Oracle云基础设施获得命令行接口。

ociConfigFile:“字符串

Oracle云基础设施CLI包含配置文件用于配置文件连接,而不是一个在默认位置~ / .oci /配置

ociProfile:“字符串

甲骨文云基础设施配置文件的配置文件名称用于连接,而不是(默认)在甲骨文云基础设施CLI配置文件用于连接。

maxRate:“字符串

每个线程的最大字节数/秒的数据读取吞吐量在出口。单位后缀k为千字节,兆字节,G可以使用g(例如,设置100米限制吞吐量100字节每秒每线程)。设置0(这是默认值),或者一个空字符串设置选项,意味着没有限制设置。

showProgress(真|假):

显示器(真正的)或隐藏()出口进展信息。默认值是真正的如果stdout是一个终端(tty),比如MySQL壳牌在交互模式下时,和否则。进度信息包括估计总出口的行数,导出的行数,到目前为止,完成百分比,行和字节每秒的吞吐量。

压缩:“字符串

压缩类型写作时使用导出的数据文件。默认是使用没有压缩(没有一个)。其他的替代方案是使用gzip压缩(gzip)或zstd压缩(zstd)。

defaultCharacterSet:“字符串

使用的字符集在打开的会话连接MySQL壳出口到服务器。默认值是utf8mb4。会话系统变量的值character_set_client,character_set_connection,character_set_results将这个值为每个连接。必须允许的字符集character_set_client系统支持的变量和MySQL实例。