データのインポートとエクスポート

このページでは、Cloud Tools for PowerShell を使用して、Cloud SQL インスタンスのデータベースやテーブルをインポートおよびエクスポートする方法について説明します。

インスタンスのデータをインポート / エクスポートすると、データベースをインスタンス間で移動できます。これは、データを Cloud SQL インスタンスに移行する場合に特に便利です。

データのインポートとエクスポートの要件とベスト プラクティスについては、データのインポートとエクスポートの概要をご覧ください。

インポートとエクスポートの両方で、適切な権限が設定されていることを確認してください。 オブジェクトの権限が(インポート用の)Cloud Storage バケット内である場合、または OWNER としての(エクスポート用の)バケットの権限である場合は、インスタンスの Service Account Email Address をオブジェクトの権限に追加する必要があります。

このメールアドレスは次のスニペットに格納されています。

$instance = Get-GcSqlOperation -Instance "mynewinstance"
$serviceEmail = $instance.ServiceAccountEmailAddress

SQL ファイルと CSV ファイルのインポート

既存の SQL ダンプファイルや CSV ファイルを Cloud SQL インスタンス内の既存のデータベースにインポートできます。インポートするファイルは、ローカルマシンか Cloud Storage バケットにある必要があります。

次のスニペットは、ローカル CSV ファイルのデータを、Cloud SQL インスタンス destinationTable のデータベース destinationTable 内にあるテーブル destinationTable にインポートします。

Import-GcSqlInstance "gootoso" "C:\Users\User\file.csv" `
"destinationDatabase" "destinationTable"

同様に、MySQL ダンプファイルがすでに Cloud Storage バケットにある場合は、指定したインスタンスのデータベース destinationDatabase にそのファイルをインポートできます。次に例を示します。

Import-GcSqlInstance "gootoso" "gs://bucket/file.gz" `
"destinationDatabase"

SQL ファイルと CSV ファイルのエクスポート

Cloud SQL インスタンス内の既存のデータベースを、さらなる分析や他のインスタンスへのインポートなどのために既存の Cloud Storage バケットにエクスポートできます。

次のコード スニペットは、インスタンス gootoso のデータベース guestbookPurchases を Cloud Storage バケットの圧縮ファイルにエクスポートします。すべてのデータベースを圧縮された .gz ダンプファイルにエクスポートするには、このコード スニペットを呼び出します。

Export-GcSqlInstance "gootoso" "gs://bucket/file.gz" `
-Databases "guestbook","Purchases"