Flask-SQLAlchemy PyMySQL - 访问被拒绝错误

时间:2017-05-30 20:57:05

标签: python mysql flask sqlalchemy pymysql

操作系统:RHEL Python版本:3.6 SQLAlchemy版本:1.1.10 PyMySQL版本:0.7.11 MySQL Distrib:5.7.17-13

import pymysql

conn = pymysql.connect(host='localhost', port=3306, user='testuser', passwd='###########', db='mysql')

cur = conn.cursor()

cur.execute("SELECT Host,User FROM user")

print(cur.description)

print()

for row in cur:
    print(row)

cur.close()
conn.close()

当我尝试执行上面的代码时,我收到以下错误消息,但我仍然能够通过命令行使用相同的帐户和密码连接到mysql。

pymysql.err.OperationalError: (1045, "Access denied for user 'testuser'@'127.0.0.1' (using password: YES)")

我尝试在互联网上搜索此错误消息,但我无法弄清楚实际问题。如果有人能帮助我解决这个问题,我将非常感激。

1 个答案:

答案 0 :(得分:1)

我发现了问题:MySQL 5.7的默认auth插件是sha256,PyMySQL不支持。将其更改为mysql_native_password并解决了问题。