如何将MySQLdb代码连接到googlecloudsql?

如何将MySQLdb代码连接到googlecloudsql?,mysql,flask,google-cloud-platform,mysql-python,google-cloud-sql,Mysql,Flask,Google Cloud Platform,Mysql Python,Google Cloud Sql,我有一个flask服务器,我想在Google云平台上部署它。代码使用MySQLdb库以以下方式连接本地MySQL实例: @app.route('/show_table', methods=['POST']) def login(): db = MySQLdb.connect("localhost", "root", "", "db_name") cursor = db.cursor() query = "select * from table_name;" cur

我有一个flask服务器,我想在Google云平台上部署它。代码使用MySQLdb库以以下方式连接本地MySQL实例:

@app.route('/show_table', methods=['POST'])
def login():
    db = MySQLdb.connect("localhost", "root", "", "db_name")
    cursor = db.cursor()
    query = "select * from table_name;"
    cursor.execute(query)
    res = cursor.fetchall()
    return res, 200
但是,我不想使用本地MySQL实例,而是想将这段代码连接到云SQL,以便它从云中读取数据。我应该对此代码进行哪些更改?我目前已经在谷歌云平台上创建了一个项目,并在这个项目中创建了一个云SQL实例。我还通过以下方式在该实例中创建了所需的表
教程。

您不必对代码做太多更改,这取决于您将如何连接到数据库。包含有关如何从外部应用程序连接到云SQL的逐步信息

由于您没有使用Java或GO,因此有两种选择:

  • 使用云SQL代理
  • 在云SQL实例页面上列出服务器的公共IP地址
  • 所有步骤都在文档中,但它基本上说,如果使用代理,则需要启用云SQL管理API,在本地计算机上安装代理客户端并对其进行身份验证。有几种方法,但第一种方法是使用控制台从服务帐户创建凭据文件,并在首次启动代理时将该文件作为参数传递。一旦您了解了这些内容,文档中就有了关于如何使用TCP或UNIX套接字的示例。使用TCP,您将使用代理作为本地主机,因此不必更改代码。使用UNIX套接字,您将使用GCP控制台上实例详细信息中的实例连接名称。MySQLdb同时支持这两种方法


    使用,您需要允许从特定IP地址范围访问您的云SQL实例。转到“云SQL实例详细信息”页面中的“连接”选项卡,添加要用于连接数据库的IP地址(使用CIDR表示法)。一旦它被列入白名单,您就可以使用云SQL实例的公共IP(您可以在实例详细信息中找到)代替localhost连接到您的数据库。

    您不必对代码做太多更改,这取决于您将如何连接到数据库。包含有关如何从外部应用程序连接到云SQL的逐步信息

    由于您没有使用Java或GO,因此有两种选择:

  • 使用云SQL代理
  • 在云SQL实例页面上列出服务器的公共IP地址
  • 所有步骤都在文档中,但它基本上说,如果使用代理,则需要启用云SQL管理API,在本地计算机上安装代理客户端并对其进行身份验证。有几种方法,但第一种方法是使用控制台从服务帐户创建凭据文件,并在首次启动代理时将该文件作为参数传递。一旦您了解了这些内容,文档中就有了关于如何使用TCP或UNIX套接字的示例。使用TCP,您将使用代理作为本地主机,因此不必更改代码。使用UNIX套接字,您将使用GCP控制台上实例详细信息中的实例连接名称。MySQLdb同时支持这两种方法

    使用,您需要允许从特定IP地址范围访问您的云SQL实例。转到“云SQL实例详细信息”页面中的“连接”选项卡,添加要用于连接数据库的IP地址(使用CIDR表示法)。一旦它被列入白名单,您就可以使用云SQL实例的公共IP(您可以在实例详细信息中找到)代替localhost连接到您的数据库