MySQL Shell 8.0/MySQL Shellユティリティ/テブルエクスポトユティリティ

このペジは機械翻訳したものです。

8.3テブルエクスポトユティリティ

MySQL壳8.0.22で導入されたMySQL壳テーブルエクスポートユーティリティutil.exportTable ()はMySQLリレーショナルテーブルをローカルサーバーまたは甲骨文云基础设施对象存储バケット上のデータファイルにエクスポートします。その後,MySQL Shellパラレルテutil.importTable ()セクション8.4 "パラレルテブルンポトユティリティ"を参照)を使用して,データをターゲットMySQLサーバー上のテーブルにアップロードできます。このユーティリティでは,パラレル接続を使用して,大規模なデータファイルの高速データインポートを提供します。データファイルは,別のアプリケーションにデータをインポートしたり,単一のデータテーブルの軽量論理バックアップとして使用することもできます。

デフォルトでは,テーブルエクスポートユーティリティは,MySQL壳パラレルテーブルインポートユーティリティのデフォルト形式でデータファイルを生成します。DOSまたはUNIXシステムのCSVファイルおよびTSVファイルのエクスポートには,事前設定オプションを使用できます。テブルエクスポトユティリティでjsonデタを生成できません。选择……到输出文件ステートメントと同様にフィールド処理オプションおよび行処理オプションを設定して,任意の形式でデータファイルを作成することもできます。

テーブルエクスポートファイルの宛先を選択する場合,MySQL数据库システムにインポートするには,パラレルテーブルインポートユーティリティを実行するMySQL壳インスタンスが,MySQL数据库システムにアクセスできる甲骨文云基础设施计算インスタンスにインストールされている必要があります。テーブルをオブジェクトストレージバケット内のファイルにエクスポートする場合,コンピュートインスタンスからオブジェクトストレージバケットにアクセスできます。ローカルシステムにテーブルエクスポートファイルを作成する場合は,コンピュートインスタンスに選択したオペレーティングシステムに応じて,選択したコピーユーティリティを使用して甲骨文云基础设施计算インスタンスに転送する必要があります。

テブルエクスポトユティリティを使用したエクスポトには,次の要件が適用されます:

  • ソースMySQLインスタンスおよびアップグレード先MySQLインスタンスには,MySQL 5.7以上が必要です。

  • 甲骨文云基础设施对象存储バケットへのファイルの転送に使用されるアップロード方法のファイルサイズ制限は,1.2 TiBです。

テーブルエクスポートユーティリティは,MySQL壳グローバルセッションを使用して,エクスポートを実行するターゲットMySQLサーバーの接続詳細を取得します。ユーティリティを実行する前に,(Xプロトコル接続またはクラシックMySQLプロトコル接続を持つことができる)グローバルセッションをオープンする必要があります。ユーティリティはスレッドごとに独自のセッションを開き,接続圧縮やSSLオプションなどのオプションをグローバルセッションからコピーし,グローバルセッションをこれ以上使用しません。デタ転送の最大速度を制限して,ネットワク上の負荷を分散できます。

MySQL Shell APIでは,テブルエクスポトユティリティは跑龙套グロバルオブジェクトの関数であり,次のシグネチャを持ます:

跑龙套。exportTable(table, outputUrl[, options])

表格は,デ。テーブル名は有効なスキーマ名で修飾でき,必要に応じてバックティック文字で引用符で囲むことができます。スキーマを省略すると,MySQL壳グローバルセッションのアクティブなスキーマが使用されます。

デタをロカルファルシステムにエクスポトする場合,outputUrlは,エクスポートされたデータファイルへのパスとファイル名自体を指定する文字列で,適切な拡張子が付いています。絶対パスまたは現在の作業ディレクトリからの相対パスを指定できます。ロカルディレクトリパスの前に文件:/ /スキマを付けることができます。MySQL ShellJavaScriptモードのこの例では,ユーザーはデフォルトの言語を使用して人力资源スキマから员工テブルをエクスポトします。ファ出口ディレクトリに書き込まれ、次の形式のファ以及ルに適した. txt拡張子が付与されます:

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

エクスポートを実行する前にターゲットディレクトリが存在する必要がありますが,空である必要はありません。エクスポトされたデタファルがすでに存在する場合は,上書きされます。ロカルディレクトリへのエクスポトの場合,デルはアクセス権限rw-r——で作成されます(これらがサポトされているオペレティングシステム上)。ファeconeconルの所有者は,MySQL Shellを実行しているユ。

甲骨文云基础设施对象存储バケットにデータをエクスポートする場合,outputUrlはバケット内のデタファ。ディレクトリセパレタを含めて,ディレクトリ構造をシミュレトできます。osBucketNameオプションを使用してオブジェクトストレジバケットの名前を指定し,osNamespaceオプションを使用してバケットのネムスペスを識別します。MySQL ShellPythonモドのこの例では,ユは人力资源スキマからTSV形式のファルとして员工テブルをオブジェクトストレジバケットhanna-bucketにエクスポトします:

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

オブジェクトストレージバケットのネームスペースは,甲骨文云基础设施コンソールのバケット詳細ページの“バケット情報”タブに表示されるか,甲骨文云基础设施コマンドラインインタフェースを使用して取得できます。オブジェクトストレージバケットへの接続は,デフォルトの甲骨文云基础设施CLI構成ファイルのデフォルトプロファイル,またはociConfigFileおよびociProfileオプションを使用して指定する代替詳細を使用して確立されます。Cli構成ファereplicationルの設定手順にereplicationいては," sdkおよびcli構成ファル"を参照してください。

选项はオプションのディクショナリで,空の場合は省略できます。テブルエクスポトユティリティでは,次のオプションを使用できます:

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

エクスポートされたデータファイルの形式のフィールド処理オプションと行処理オプションのセットを指定します。linesTerminatedByfieldsTerminatedByfieldsEnclosedByfieldsOptionallyEnclosedおよびfieldsEscapedByオプションのいずれかまたは複数を指定して設定を変更することで,選択した言語をさらにカスタマイズするためのベースとして使用できます。

デフォルトの言語では,そのステトメントのデフォルト設定で选择……到输出文件ステトメントを使用して作成されるものと一致するデタファルが生成されます。. txtは,これらの出力ファ电子书阅读器ルに割り当てる適切なファ电子书阅读器ル拡張子です。DOSまたはUnixシステム(. csv)およびTSVファ(. tsv)のCSVファ。

各言語に適用される設定は次のとおりです:

表8.1テブルエクスポトユティリティの言語設定

方言

linesTerminatedBy

fieldsTerminatedBy

fieldsEnclosedBy

fieldsOptionallyEnclosed

fieldsEscapedBy

默认的

(低频)

(选项卡)

[空]

csv

[CR][如果]

真正的

csv-unix

(低频)

tsv

[CR][如果]

(选项卡)

真正的


注記
  1. ダイアレクトのキャリッジリターンおよびラインフィードの値は,オペレーティングシステムに依存しません。

  2. linesTerminatedByfieldsTerminatedByfieldsEnclosedByfieldsOptionallyEnclosedおよびfieldsEscapedByオプションを使用する場合,コマンドインタプリタのエスケープ規則に応じて,バックスラッシュ文字(\)をオプション値で使用する場合は二重にする必要があります。

  3. 选择……到输出文件ステートメントを使用したMySQLサーバーと同様に,MySQL壳では,指定したフィールド処理および行処理オプションは検証されません。これらのオプションを正しく選択しないと,データが部分的または誤ってエクスポートされる可能性があります。エクスポトを開始する前に必ず設定を確認し,後で結果を確認してください。

linesTerminatedBy:“字符

ユーティリティがエクスポートされたデータファイルの各行を終了するために使用する1つ以上の文字(または空の文字列)。デフォルトは,指定された方言,または方言オプションが省略されている場合は改行文字(\ nです。このオプションは,选择……到输出文件ステトメントのオプションと同等です。ユティリティでは,空の文字列に設定されている选择……到输出文件ステトメントのオプションに相当するものは提供されないことに注意してください。

fieldsTerminatedBy:“字符

ユーティリティがエクスポートされたデータファイルの各フィールドを終了するために使用する1つ以上の文字(または空の文字列)。デフォルトは,指定された言語,または言語オプションが省略されている場合はタブ文字(\ tです。このオプションは,选择……到输出文件ステトメントのオプションと同等です。

fieldsEnclosedBy:“字符

ユーティリティがエクスポートされたデータファイル内の各フィールドを囲む単一の文字(または空の文字列)。デフォルトは,指定された言語に対するものであり,方言オプションが省略されている場合は空の文字列です。このオプションは,选择……到输出文件ステトメントのオプションと同等です。

fieldsoptionallyenclose: [true | false]

fieldsEnclosedByに指定された文字が、エクスポ()のすべてのフィルドを囲むか,または字符二进制文本枚举真正的)などの文字列デタ型を持フィルドのみを囲むか。デフォルトは,指定された言語,または方言オプションが省略されている場合はです。このオプションにより,fieldsEnclosedByオプションは选择……到输出文件ステトメントの可选的由オプションと同等になります。

fieldsEscapedBy:“字符

エクスポ。デフォルトは,指定された言語の場合と同様です。または,方言オプションが省略されている場合はバックスラッシュ(\))です。このオプションは,选择……到输出文件ステトメントの菲尔兹通过オプションと同等です。このオプションを空の文字列に設定した場合,文字はエスケプされません。选择……到输出文件で使用される特殊文字はエスケプする必要があるため,これはお薦めしません。

osBucketName:“字符串

エクスポートされたデータファイルが書き込まれる甲骨文云基础设施对象存储バケットの名前。デフォルトでは,~ / .oci /配置にあるOracle Cloud Infrastructure CLI構成ファereplicationルの(默认)プロファルを使用して,バケットへの接続が確立されます。ociConfigFileおよびociProfileオプションを使用して、接続に使用される代替プロファ以及ルを置換できます。Cli構成ファereplicationルの設定手順にereplicationいては," sdkおよびcli構成ファル"を参照してください。

osNamespace:“字符串

osBucketNameによって指定されたオブジェクトストレージバケットが配置される甲骨文云基础设施ネームスペース。オブジェクトストレージバケットのネームスペースは,甲骨文云基础设施コンソールのバケット詳細ページの”バケット情報”タブに表示されるか,甲骨文云基础设施コマンドラインインタフェースを使用して取得できます。

ociConfigFile:“字符串

デフォルトの場所の~ / .oci /配置ではなく,接続に使用するプロファイルを含む甲骨文云基础设施CLI構成ファイル。

ociProfile:“字符串

接続に使用されるOracle Cloud Infrastructure CLI構成ファereplicationル内の(默认)プロファイルではなく,接続に使用する甲骨文云基础设施プロファイルのプロファイル名。

maxRate:“字符串

エクスポト時のデタ読取りスルト数(毎秒)。単位接尾辞k(キロバ@ト),(メガバ和ト),およびG(ギガバ,ト)を使用できます(たとえば,100米を設定すると,スル100メガバ/秒に制限されます)。0(デフォルト値)を設定するか,オプションを空の文字列に設定すると,制限は設定されません。

showProgress: [true | false]

エクスポトの進行状況情報を表示(真正的)または非表示(します。MySQL Shellが対話型モstdoutが端末(tty)の場合,デフォルトは真正的です。それ以外の場合はです。進捗情報には,エクスポートされる行の推定合計数,これまでにエクスポートされた行数,完了率およびスループット(行およびバイト/秒)が含まれます。

压缩:“字符串

エクスポ。デフォルトでは,圧縮なし(没有一个が使用されます。または,gzip圧縮(gzip)またはZSTD圧縮(zstdを使用します。

defaultCharacterSet:“字符串

エクスポートのためにMySQL壳によってサーバーに開かれるセッション接続中に使用される文字セット。デフォルトはutf8mb4です。システム変数character_set_clientcharacter_set_connectionおよびcharacter_set_resultsのセッション値は,接続ごとにこの値に設定されます。文字セットは,character_set_clientシステム変数で許可され,MySQL MySQL数据库ンスタンスでサポトされている必要があります。