【问题标题】:Connecting Python with Google SQL将 Python 与 Google SQL 连接起来
【发布时间】:2020-03-30 13:31:35
【问题描述】:

我需要将 Python 脚本与 google sql 连接起来。 我已经在 google sql 中创建了数据库,现在想用 python 脚本连接它。

到目前为止,我正在尝试使用它:

conn = pymysql.connect(host='ip.ip.ipi.ip',user='user', passwd = "passwd", db = 'mysql',
charset = 'utf8')
cur = conn.cursor()
cur.execute("USE Example_Database")

但收到此错误:

OperationalError: (2003, "Can't connect to MySQL server on '35.246.235.61' (timed out)")

也试过用这个但是没用:

from google.cloud.sql.connector import connector


connector.connect(
    "instance:instancename", 
    "mysql-connector",
    host='ip.ip.ipi.ip',
    user="user",
    password="passwd",
    db="Database"

)

【问题讨论】:

    标签: python sql google-cloud-platform pymysql


    【解决方案1】:

    您运行代码的地方似乎存在与 Google SQL 的连接问题。 你在哪里运行你的 python 代码?

    您能否检查它是否可以在端口 3306(或您正在使用的自定义端口)上连接到您的 Google SQL 端点?

    telnet <Google_SQL_IP> 3306
    

    【讨论】:

      【解决方案2】:

      根据您的 python 代码的托管位置,您需要允许您的应用服务器对云 sql 进行必要的访问。

      您可以使用以下方法连接到 Cloud SQL 实例:

      1. 使用代理(仅限第二代实例)
      2. 通过为一个或多个公共 IP 地址配置访问权限
      3. 通过使用 JDBC Socket Factory(对于 Java 编程语言,仅限第二代实例)
      4. 使用 Cloud SQL 代理库(仅适用于 Go 编程语言,第二代实例)

      请查看以下链接,其中描述了您可以连接的选项: https://cloud.google.com/sql/docs/mysql/connect-external-app

      【讨论】:

      • 它只是在我的本地设备上。
      • 假设您的本地设备位于没有固定/静态 IP 地址的家庭网络上,那么您必须按照此链接的建议向公众开放您的云 sql:cloud.google.com/sql/docs/mysql/configure-ip
      猜你喜欢
      • 2015-09-21
      • 2019-02-26
      • 1970-01-01
      • 2017-06-03
      • 2012-08-17
      • 2012-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多