无法在 Windows 机器上使用 sqlalchemy 连接到本地 mysql 数据库
Posted
技术标签:
【中文标题】无法在 Windows 机器上使用 sqlalchemy 连接到本地 mysql 数据库【英文标题】:Cannot connect to a local mysql db with sqlalchemy on windows machine 【发布时间】:2018-10-13 20:31:00 【问题描述】:我正在尝试使用 sqlalchemy 连接到我的 Windows 机器上的本地 mysql 数据库。它适用于 pymysql,但不适用于 sqlalchemy。
代码 sqlalchemy:
engine = create_engine('mysql+mysqldb://root:mypass@localhost/classicmodels')
engine.connect()
给出错误:
OperationalError: (_mysql_exceptions.OperationalError) (1193, "Unknown system variable 'tx_isolation'")
工作代码,使用 pymysql:
connection = pymysql.connect(host='localhost',
user='root',
password = 'mypass',
db = 'classicmodels')
cursor = connection.cursor()
cursor.execute('select * from customers')
mydata = cursor.fetchall()
mydata = pd.DataFrame(list(mydata))
mydata.head(5)
【问题讨论】:
您正在将 MySQLdb 驱动程序与 SQLA 一起使用。如果你也使用 pymysql 怎么办 (mysql+pymysql://...
)?
谢谢,但这也不起作用
您使用的是什么版本的 MySQL 等?还请包括完整的回溯,而不仅仅是错误消息。
【参考方案1】:
我遇到了涉及 tx_isolation 的类似错误。
sqlalchemy.exc.InternalError: (pymysql.err.InternalError) (1193, "Unknown system variable 'tx_isolation'")
这是由于使用了旧版本的 SQLAlchemy。
pip install --upgrade SQLAlchemy
我正在运行 v1.0.15,升级到 v1.2.9 为我修复了错误。我也在使用上面提到的mysql+pymysql
连接设置。
【讨论】:
我从 1.1.13 升级到 1.2.15 并且已经/修复了这个错误。【参考方案2】:您的 sqlalchemy 版本是什么?尝试使用最新的,因为8.0版本的mysql已经贬低了'tx_isolation'。
【讨论】:
以上是关于无法在 Windows 机器上使用 sqlalchemy 连接到本地 mysql 数据库的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 VS Code 在 Windows 机器上为 linux 构建 .Net core 3.0 项目
无法在 Windows 7 机器上的 Microsoft Visual C++ 2010 中运行 OpenCV
在 Windows 7 机器上编写/编译的 .NET 4 程序无法在 XP 上运行
无法在 windows 机器上安装 sasl-0.1.3 python 包