Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法从应用程序引擎(python)连接到云SQL_Python_Mysql_Google App Engine - Fatal编程技术网

无法从应用程序引擎(python)连接到云SQL

无法从应用程序引擎(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():

在尝试使用python从app engine连接到云SQL时,我得到了以下信息:

超级(连接,自我)。init(*args,**kwargs2) 操作错误:(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)
我的应用程序和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上传也有问题。不久将发布相关信息。可能会将我的所有数据复制到一个新的应用程序引擎项目中:(