尝试使用python从app引擎连接到Cloud SQL时,我得到以下信息:
super(Connection,self)。 init (* args,** kwargs2) OperationalError:(2013,"在读取初始通信数据包时失去与MySQL服务器的连接',系统错误:38")
这是我的连接代码:
CLOUDSQL_PROJECT = 'some-project'
CLOUDSQL_REGION = 'us-central1'
CLOUDSQL_INSTANCE = 'some-instance'
class connect():
def __init__(self,dbname):
# When running on Google App Engine, use the special unix socket
# to connect to Cloud SQL.
if os.getenv('SERVER_SOFTWARE', '').startswith('Google App Engine/'):
self.db = MySQLdb.connect(
unix_socket='/cloudsql/{}:{}:{}'.format(
CLOUDSQL_PROJECT,
CLOUDSQL_REGION,
CLOUDSQL_INSTANCE),
db=dbname,
user='root@localhost',
passwd='********')
# When running locally, you can either connect to a local running
# MySQL instance, or connect to your Cloud SQL instance over TCP.
else:
self.db = MySQLdb.connect(host='localhost', user='root', passwd='**********',db=dbname)
我的app和mysql实例位于同一区域(us-central)。我正在使用"第二代mysql"版本,因此无需将应用程序列入白名单。
我已阅读并重新阅读文档,用Google搜索,直到我变成蓝色,然后尝试连接字符串的多种变体无济于事。我能够从开发环境进行连接。
在这一点上,我认为这是一个谷歌问题,但作为一个"青铜"支持客户我无法联系他们。
感谢。