【问题标题】:Flask-SQLAlchemy PyMySQL - Access Denied ErrorFlask-SQLAlchemy PyMySQL - 访问被拒绝错误
【发布时间】:2017-10-31 11:48:16
【问题描述】:

操作系统:RHEL Python版本:3.6 SQLAlchemy 版本:1.1.10 PyMySQL 版本:0.7.11 MySQL 发行版: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)")

我尝试在整个互联网上搜索此错误消息,但我无法找出实际问题。如果有人能帮我解决这个问题,我将不胜感激。

【问题讨论】:

  • 那么,您是否使用该名称和密码创建了一个 db 用户?
  • @DanielRoseman 是的,我有,而且我可以使用相同的用户名和密码从命令行登录。

标签: python mysql flask sqlalchemy pymysql


【解决方案1】:

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-24
  • 2012-12-21
  • 2010-12-23
  • 2017-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多