我有一个Jupyter笔记本通过SqlAlchemy(Ubuntu 18.10,python 3.7)连接到MySQL数据库。
其中一个单元启动SQL并将结果加载到pandas DataFrame中。
它工作正常,但是当我一段时间不使用笔记本计算机,并再次运行执行SQL查询的单元时,笔记本计算机冻结(但是内核不会死)。
这是通过pandas.read_sql()
或:
db_engine = create_engine('mysql+mysqldb://<user>:<passwd>@<host>:3306/<db>')
def sqlDF(sql):
conn = db_engine.connect()
result = conn.execute(sql)
columns = result._metadata.keys
resultDF = pd.DataFrame([r for r in result.fetchall()], columns=columns)
conn.close()
return resultDF
df = sqlDF("SELECT * FROM my_table")
注意:db_engine = ...
位于单独的单元格中;闲置后我不再执行它。