📅  最后修改于: 2023-12-03 15:22:10.023000             🧑  作者: Mango
在使用 Google Cloud SQL 的过程中,你可能需要连接到多个实例。这时候,使用 Cloud SQL Auth 代理可以帮助你快速安全地连接到这些实例。以下是如何使用 Cloud SQL Auth 代理连接到多个实例:
在开始之前你需要做以下准备工作:
在配置文件中,你可以设置多个实例的连接信息。以下是示例配置文件的格式:
instances:
- name: my-first-instance
port: 3306
- name: my-second-instance
port: 5432
你需要将实例的名称和端口号更改为你自己实例的信息。你也可以通过设置其他选项,如 SSL、Unix 套接字路径等,定制代理的行为。
启动代理的命令如下:
cloud_sql_proxy -instances=my-first-instance=my-first-instance-connection-name,my-second-instance=my-second-instance-connection-name -credential_file=credentials.json
你需要将 my-first-instance-connection-name
和 my-second-instance-connection-name
更改为你自己实例的连接名称,并将 credentials.json
更改为你自己的凭证文件。
连接实例的方法与单个实例的方法相同。以下是 Python 连接示例:
import os
import MySQLdb
# 从环境变量获取代理的套接字路径
unix_socket = os.getenv('DB_HOST')
# 使用代理作为主机和端口连接数据库
db = MySQLdb.connect(
host='localhost',
port=3306,
user='myuser',
passwd='mypassword',
db='mydatabase',
unix_socket=unix_socket
)
# 查询数据
cursor = db.cursor()
cursor.execute("SELECT * FROM mytable")
# 输出结果
for row in cursor.fetchall():
print(row)
# 关闭连接
db.close()
现在你已经知道如何使用 Cloud SQL Auth 代理连接到多个实例了!通过这种方式,你可以快速安全地连接到你的多个 Cloud SQL 实例。