导入 SQL 文件

本页介绍了如何将 SQL 文件导入 AlloyDB 数据库。

执行导入的流程涉及以下任务:

  1. SQL 文件上传到 Cloud Storage 存储分区。

  2. 准备客户端主机以执行导入操作。

  3. 将 SQL 文件导入数据库。

  4. 清理执行该过程时创建的资源

准备工作

  • 您必须在所使用的 Google Cloud 项目中拥有 Owner (roles/owner) 或 Editor (roles/editor) 基本 IAM 角色,或者必须拥有以下预定义 IAM 角色:
    • AlloyDB 管理员 (roles/alloydb.admin) 或 AlloyDB 查看者 (roles/alloydb.viewer)
    • Storage Admin (roles/storage.admin)
    • Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1)

上传 SQL 文件

如需上传 SQL 文件,您需要创建一个 Cloud Storage 存储分区,然后将该 SQL 文件上传到此存储分区。

  1. 在您的 AlloyDB 数据库所在的项目和区域中创建一个 Standard Storage Regional Storage 存储分区。按照这些说明操作时,请务必为 Compute Engine 虚拟机分配足够的本地存储空间,以容纳您要导入的 SQL 文件。

  2. 将 SQL 文件上传到您创建的存储分区。

准备客户端主机

如需准备客户端主机以执行导入操作,您需要创建一个可连接到数据库所在的 AlloyDB 主实例的 Compute Engine 虚拟机,并在该虚拟机上安装 psql 工具和 Google Cloud CLI。

  1. 按照将 psql 客户端连接到实例中的说明,创建具有适当连接性且安装了 psql 工具的 Compute Engine 虚拟机。按照这些说明操作时,请务必为 Compute Engine 虚拟机分配足够的本地存储空间,以容纳您要导入的 SQL 文件。

  2. 安装 gcloud CLI,以便通过命令行访问 Cloud Storage 存储分区中的 SQL 文件。

导入 SQL 文件

如需导入 SQL 文件,您需要获取数据库所在的 AlloyDB 主实例的 IP 地址,然后使用 psql 工具将该文件导入数据库。

  1. 通过查看其详细信息,获取您的数据库所在的 AlloyDB 主实例的 IP 地址。
  2. 通过 SSH 连接到 Compute Engine 虚拟机。

    控制台

    1. 在 Google Cloud 控制台中,前往虚拟机实例页面。

      转到“虚拟机实例”

    2. 在虚拟机实例列表中,点击您创建的实例行中的 SSH

      实例名称旁边的 SSH 按钮。

    gcloud

    使用 gcloud compute ssh 命令连接到您创建的实例。

    gcloud compute ssh --project=PROJECT_ID --zone=ZONE VM_NAME

    替换以下内容:

    • PROJECT_ID:包含实例的项目的 ID。
    • ZONE:实例所在可用区的名称。
    • VM_NAME:实例的名称。
  3. 将 SQL 文件复制到客户端主机的本地文件系统:
    gcloud storage cp gs://BUCKET_NAME/SQL_FILE_NAME .
  4. 导入 SQL 文件:
    psql -h IP_ADDRESS -U postgres DB_NAME < SQL_FILE_NAME
    
    • IP_ADDRESS:主实例的 IP 地址。
    • DB_NAME:要导入到其中的数据库的名称。
    • SQL_FILE_NAME:您上传的 SQL 文件。

清理资源

成功导入 SQL 文件后,您可以删除 Cloud Storage 存储分区,并删除您在导入过程中使用的 Compute Engine 虚拟机