本页介绍了如何将 SQL 文件导入 AlloyDB 数据库。
执行导入的流程涉及以下任务:
准备工作
- 您必须在所使用的 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
)
- AlloyDB 管理员 (
上传 SQL 文件
如需上传 SQL 文件,您需要创建一个 Cloud Storage 存储分区,然后将该 SQL 文件上传到此存储分区。
在您的 AlloyDB 数据库所在的项目和区域中创建一个 Standard Storage Regional Storage 存储分区。按照这些说明操作时,请务必为 Compute Engine 虚拟机分配足够的本地存储空间,以容纳您要导入的 SQL 文件。
将 SQL 文件上传到您创建的存储分区。
准备客户端主机
如需准备客户端主机以执行导入操作,您需要创建一个可连接到数据库所在的 AlloyDB 主实例的 Compute Engine 虚拟机,并在该虚拟机上安装 psql
工具和 Google Cloud CLI。
按照将 psql 客户端连接到实例中的说明,创建具有适当连接性且安装了
psql
工具的 Compute Engine 虚拟机。按照这些说明操作时,请务必为 Compute Engine 虚拟机分配足够的本地存储空间,以容纳您要导入的 SQL 文件。安装 gcloud CLI,以便通过命令行访问 Cloud Storage 存储分区中的 SQL 文件。
导入 SQL 文件
如需导入 SQL 文件,您需要获取数据库所在的 AlloyDB 主实例的 IP 地址,然后使用 psql
工具将该文件导入数据库。
- 通过查看其详细信息,获取您的数据库所在的 AlloyDB 主实例的 IP 地址。
- 通过 SSH 连接到 Compute Engine 虚拟机。
控制台
- 在 Google Cloud 控制台中,前往虚拟机实例页面。
- 在虚拟机实例列表中,点击您创建的实例行中的 SSH。
gcloud
使用
gcloud compute ssh
命令连接到您创建的实例。gcloud compute ssh --project=PROJECT_ID --zone=ZONE VM_NAME
替换以下内容:
PROJECT_ID
:包含实例的项目的 ID。ZONE
:实例所在可用区的名称。VM_NAME
:实例的名称。
- 将 SQL 文件复制到客户端主机的本地文件系统:
gcloud storage cp gs://BUCKET_NAME/SQL_FILE_NAME .
- 导入 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 虚拟机。