我正在尝试使用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")')
答案 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()
import sqlalchemy
s = "mysql+pymysql://root@<IP Address>/<DB Name>"
engine = sqlalchemy.create_engine(s)
engine.connect()
还请确保您在此处指定数据库名称,示例中缺少该名称。