Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot connect to a local mysql db with sqlalchemy on windows machine

I'm trying to connect to a local mysql DB on my windows machine using sqlalchemy. It works using pymysql, but not with sqlalchemy.

Code sqlalchemy:

engine = create_engine('mysql+mysqldb://root:mypass@localhost/classicmodels')
engine.connect()

Gives error:

OperationalError: (_mysql_exceptions.OperationalError) (1193, "Unknown system variable 'tx_isolation'")

Working code, using 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)
like image 279
Ron Avatar asked May 03 '18 13:05

Ron


2 Answers

I ran into a similar error involving tx_isolation.

sqlalchemy.exc.InternalError: (pymysql.err.InternalError) (1193, "Unknown system variable 'tx_isolation'")

This was due to using an old version of SQLAlchemy.

pip install --upgrade SQLAlchemy

I was running off v1.0.15, upgrading to v1.2.9 fixed the error for me. I am also using the mysql+pymysql connection setting as mentioned above.

like image 84
tsumnia Avatar answered Oct 21 '22 14:10

tsumnia


What's your version of sqlalchemy? Try to use the newest one, because the 8.0 version of mysql has depreciated 'tx_isolation'.

like image 6
lucyf Avatar answered Oct 21 '22 13:10

lucyf