このページでは、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 のデータベース guestbook と Purchases を Cloud Storage バケットの圧縮ファイルにエクスポートします。すべてのデータベースを圧縮された .gz
ダンプファイルにエクスポートするには、このコード スニペットを呼び出します。
Export-GcSqlInstance "gootoso" "gs://bucket/file.gz" ` -Databases "guestbook","Purchases"