以下是连接Google Cloud SQL的示例代码:
import os
# 如果您正在使用本地开发服务器,请将 `unix_socket` 替换为 `host`
CNXN_NAME = os.environ.get('INSTANCE_CONNECTION_NAME')
DB_USER = os.environ.get('MYSQL_USER')
DB_PASSWORD = os.environ.get('MYSQL_PASSWORD')
DB_NAME = os.environ.get('MYSQL_DATABASE')
unix_socket = '/cloudsql/{}'.format(CNXN_NAME)
def get_sql_connection():
try:
conn = mysql.connector.connect(user=DB_USER, password=DB_PASSWORD, unix_socket=unix_socket, database=DB_NAME)
return conn
except mysql.connector.Error as err:
print(err)
# 确保在 App Engine 的 app.yaml 文件中添加以下内容:
# beta_settings:
# cloud_sql_instances: YOUR_INSTANCE_CONNECTION_NAME
如果您在连接 Cloud SQL 时遇到问题,请检查以下几点:
您是否添加了正确的 INSTANCE_CONNECTION_NAME
、MYSQL_USER
、MYSQL_PASSWORD
和 MYSQL_DATABASE
环境变量?
您是否在 app.yaml
文件中添加了 cloud_sql_instances
属性?
您是否在 Cloud Console 中为 App Engine 服务帐号授予了 Cloud SQL 客户端角色?
如果您按照以上步骤使用示例代码仍然无法连接 Cloud SQL,请检查您的网络连接以及 Cloud SQL 实例的网络设置。您可以尝试使用其他的连接方法,例如使用 TCP/IP 进行连接。