管理数据库

GDC 沙盒提供数据库服务,用于测试和管理数据库集群。

如需创建数据库集群,请参阅选择数据库引擎类型并创建数据库集群

连接到数据库

默认情况下,数据库集群仅允许来自用户集群和同一项目的连接。

如需允许从其他项目连接到您项目中的所有数据库集群,请参阅启用跨项目连接

如需从 GDC 沙盒组织外部的 IP 地址连接到数据库,请按照连接到数据库中的说明启用外部连接。

您可以使用 sshuttle 通过本地数据库客户端(例如 psql)连接到数据库:

  1. 前往数据库集群的数据库服务页面的连接部分。本页包含:

    • 管理员账号的密码(用户名为 dbsadmin
    • 数据库集群的主端点的主机名和端口号
    • 用于连接到集群的 psql 命令(适用于 PostgreSQL 和 AlloyDB Omni 数据库集群)
    • 用于下载数据库集群的证书授权机构 (CA) 证书的链接
  2. 从 GDC 控制台的数据库集群的数据库服务页面中的连接部分下载 CA 证书。

  3. 配置客户端以使用 CA 证书验证数据库。对于 psql 客户端,请将 PGSSLROOTCERT 环境变量设置为证书文件的路径,并将 PGSSLMODE 环境变量设置为您的偏好设置:

        export PGSSLROOTCERT=path/to/accounts_cert.pem
        export PGSSLMODE="verify-full"
    
  4. 启动安全隧道。如果您有正在运行的 sshuttle 实例(如连接到实例中所述),请终止该进程。

        sshuttle -r zone1-org-1-data@GDC_SANDBOX_INSTANCE_NAME --no-latency-control \
        --ssh-cmd 'gcloud compute ssh --project PROJECT_NAME --zone ZONE --tunnel-through-iap' \
        10.200.0.0/16 --dns
    

    将以下内容替换为 GDC 沙盒团队提供给您的值:

    • GDC_SANDBOX_INSTANCE_NAME:您的 GDC 沙盒实例的名称。
    • PROJECT_NAME:包含您的 GDC 沙盒环境的项目。
    • ZONE:包含您的 GDC 沙盒环境的可用区。
  5. 在隧道处于活动状态时,在另一个终端中使用 psql 运行命令

        PGPASSWORD=DB_PASSWORD psql -h DB_HOSTNAME -p PORT -U USERNAME -d postgres
    

    执行以下变量替换操作:

    • path/to/accounts_cert.pem 证书的路径。
    • DB_PASSWORD:控制台界面中的密码。
    • DB_HOSTNAME:控制台中的数据库主机名。
    • DB_PORT:控制台中的数据库端口号。
    • DB_USERNAME:控制台中的数据库用户名。