小编Jef*_*ong的帖子

python3 sqlalchemy pymysql 连接字符串

使用python3,我可以使用pymysql连接到mysql。一切都按预期进行。所附代码有效。

import pymysql

conn = pymysql.connect(host='127.0.0.1',  unix_socket='/home/jhgong/mysql/tmp/mysql.sock', user='root', passwd='my_pass', db='my_db', port='3333')
cur = conn.cursor()
cur.execute('select user from auth_users')
for i in cur:
    print(i)
Run Code Online (Sandbox Code Playgroud)

试图让 sqlalchemy 与 pymysql 连接,默认示例字符串似乎不起作用。除非我声明端口号和 unix_socket,否则上面的示例不起作用。

下面是我一直用来尝试连接 sqlalchemy 的内容。我假设套接字和端口号都是需要的。我使用 connect_args 来提供带有额外 unix_socket 位置的哈希值。没有喜悦。

附上我一直在使用的产生错误的片段。

conarg = {
   'unix_socket':'/home/jhgong/mysql/tmp/mysql.sock',
   'db'         :'ice'
}
engine = create_engine('mysql+pymysql://root:my_pass@127.0.0.1:3333/my_db',   connect_args = conarg, echo=True)
connection = engine.connect()
Run Code Online (Sandbox Code Playgroud)

无论有或没有 conarg 哈希中的数据库,我都会收到以下错误:

>>> connection = engine.connect()
2013-01-17 13:04:20,819 INFO sqlalchemy.engine.base.Engine b'SELECT DATABASE()'
2013-01-17 13:04:20,819 INFO sqlalchemy.engine.base.Engine ()
Traceback (most recent call last):
  File "/nfs/site/home/jhgongx/.local/lib/python3.2/site-packages/SQLAlchemy-0.8.0b1dev-py3.2.egg/sqlalchemy/pool.py", line …
Run Code Online (Sandbox Code Playgroud)

sqlalchemy python-3.x pymysql

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

pymysql ×1

python-3.x ×1

sqlalchemy ×1