无法从应用程序引擎(python)连接到云SQL
在尝试使用python从app engine连接到云SQL时,我得到了以下信息: 超级(连接,自我)。init(*args,**kwargs2) 操作错误:(2013,“读取初始通信数据包时与MySQL服务器的连接中断”,系统错误:38”) 这是我的连接代码:无法从应用程序引擎(python)连接到云SQL,python,mysql,google-app-engine,Python,Mysql,Google App Engine,在尝试使用python从app engine连接到云SQL时,我得到了以下信息: 超级(连接,自我)。init(*args,**kwargs2) 操作错误:(2013,“读取初始通信数据包时与MySQL服务器的连接中断”,系统错误:38”) 这是我的连接代码: CLOUDSQL_PROJECT = 'some-project' CLOUDSQL_REGION = 'us-central1' CLOUDSQL_INSTANCE = 'some-instance' class connect():
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)
我的应用程序和mysql实例位于同一地区(美国中部)。我使用的是“第二代mysql”版本,因此没有必要将应用程序列入白名单
我已经读了又读了这些文档,在谷歌上搜索到了我的蓝色,并且尝试了许多连接字符串的变体,但都没有用。我能够从开发环境连接
在这一点上,我认为这是谷歌的问题,但作为一个“青铜”支持客户,我没有办法联系他们
谢谢。尝试使用
user='root'
。您是否遵循了“应用程序引擎标准环境到第二代”标题下的所有步骤?您的应用程序与您的云SQL实例在同一个项目中吗?是的,user='root'
。还可以尝试:unix_socket=':/cloudsql/{}:{}:{}。format(
(注意字符串开头的额外冒号)尝试了额外冒号。否。我得到:OperationalError:(2001,“无法创建unix socket(-1)”)我恢复到mysql v1,一切正常。我的应用程序已经运行了几年,我怀疑有一个配置设置被google忽略了。在一个virgin帐户中,blobstore上传也有问题。不久将发布相关信息。可能会将我的所有数据复制到一个新的应用程序引擎项目中:(尝试使用user='root'
。您是否遵循了“应用程序引擎标准环境到第二代”标题下的所有步骤?您的应用程序是否与您的云SQL实例位于同一个项目中?是的,user='root'
。同时尝试:unix_socket=':/cloudsql/{}:{}:{}。格式(
(注意字符串开头的额外冒号)尝试了额外冒号。否。我得到:OperationalError:(2001,“无法创建UNIX套接字(-1)”)我恢复到mysql v1,一切正常。我的应用程序已经运行了几年,我怀疑有一个配置设置被google忽略了。在一个virgin帐户中,blobstore上传也有问题。不久将发布相关信息。可能会将我的所有数据复制到一个新的应用程序引擎项目中:(