操作系统: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)")
我尝试在互联网上搜索此错误消息,但我无法弄清楚实际问题。如果有人能帮助我解决这个问题,我将非常感激。
答案 0 :(得分:1)
我发现了问题:MySQL 5.7的默认auth插件是sha256,PyMySQL不支持。将其更改为mysql_native_password并解决了问题。