导入和导出数据

此页面介绍如何使用 Cloud Tools for PowerShell 将数据库和表导入和导出 Cloud SQL 实例。

将数据导入和导出实例允许您将数据库从一个实例移至另一个实例。在将数据迁移到 Cloud SQL 实例时,此功能特别有用。

如需详细了解导入和导出数据的要求和最佳做法,请参阅导入和导出数据概览

请确保已为导入和导出设置相关权限。 如果实例位于 Cloud Storage 存储分区中,您必须将实例的服务账号电子邮件地址添加到对象的权限中(用于导入),或者,将其作为所有者添加到存储分区的权限中(用于导出)。

此电子邮件存储在以下代码段中:

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

导入 SQL 和 CSV 文件

您可以将现有 SQL 转储文件或 CSV 文件导入 Cloud SQL 实例中的现有数据库。此文件必须位于本地计算机上或 Cloud Storage 存储分区中。

以下代码段将本地 CSV 文件中的数据导入表 destinationTable 中(位于 Cloud SQL 实例 gootoso 中的 destinationDatabase 数据库内):

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 存储分区,以供进一步分析和导入到其他实例中等等。

以下代码段将数据库的 guestbookPurchases 从实例 gootoso 导出到 Cloud Storage 存储分区中的压缩文件。要将所有数据库导出到压缩的 .gz 转储文件,请调用以下命令:

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