Google CLoud SQL上的Python的sqlalchemy

时间:2018-11-09 08:19:13

标签: python sqlalchemy google-cloud-platform

我正在尝试使用sqlalchemy连接到Google Cloud SQL实例,以便使用熊猫to_sql函数。我的实例具有一个内部IP地址。

我有以下工作要做:

import MySQLdb

def get_con():
    return MySQLdb.connect(host='<IP Address>', user='root')

但是,当我使用sqlalchemy时:

import sqlalchemy

def get_con():
    s = 'mysql://root@<IP Address>'
    engine = sqlalchemy.create_engine(s)
    return engine.connect()

我收到以下错误:

  

_mysql_exceptions.OperationalError: (2002, 'Can\'t connect to local MySQL server through socket \'/var/run/mysqld/mysqld.sock\' (2 "No such file or directory")')

1 个答案:

答案 0 :(得分:2)

您没有说您正在使用什么MySQL驱动程序,但是我想它是mysql-python,四年来没有更新。我建议使用其他驱动程序。

我使用mysql-connector-python进行了尝试,并且可以正常工作:

import sqlalchemy

s = "mysql+mysqlconnector://root@<IP Address>/<DB Name>"
engine = sqlalchemy.create_engine(s)
engine.connect()

PyMySQL

import sqlalchemy

s = "mysql+pymysql://root@<IP Address>/<DB Name>"
engine = sqlalchemy.create_engine(s)
engine.connect()

还请确保您在此处指定数据库名称,示例中缺少该名称。