【问题标题】:Mysql error 1045 (Access denied for user) while using flask_mysqldb使用flask_mysqldb时出现Mysql错误1045(用户访问被拒绝)
【发布时间】:2019-04-28 16:53:11
【问题描述】:

操作系统:MacOS

MySQL 版本:8.0.16

连接 MySQL 的代码:

app.config['MYSQL_HOST']='localhost'
app.config['MYSQL_USERNAME']='root'
app.config['MYSQL_PASSWORD']='123456'
app.config['MYSQL_DB']='Teaching_Sys'
app.config['MYSQL_CURSORCLASS']='DictCursor'

密码是正确的,里面没有任何特殊字符,我已经选择了“使用旧密码加密”来初始化数据库(有人用这个技巧解决了这个问题)

我已经设置了一个名为 Teaching_Sys 的表

使用flask将新数据插入表中的代码:

username=form_reg.username.data
email=form_reg.username.data
password = sha256_crypt.hash(form_reg.password.data)
#create cursor
cur=mysql.connection.cursor()
cur.execute("INSERT INTO users(username,email,password) VALUES(%s,%s,%s)",(username,email,password))
#commit to db
mysql.connection.commit()
cur.close()

这就是数据库的样子:

完整的错误信息是:

MySQLdb._exceptions.OperationalError: (1045, "Access denied for user 'yiling'@'localhost' (using password: YES)")

发生在队列中

cur=mysql.connection.cursor()

虽然yiling是我系统账号的名字。

我还检查了root@localhost的用户权限

【问题讨论】:

  • 因此,如果您认为您以“root”身份登录,但系统拒绝“yiling”,那就是您的问题。就mysql而言,'yiling'和'root'并不相同。
  • 但我告诉烧瓶登录“root”,作为代码的第一部分。为什么报错信息中有“yiling”?
  • 因为您没有部署更新的代码或错误来自不同的文件。

标签: mysql flask


【解决方案1】:

OperationalError: (1045, "Access denied for user 'rajendra'@'localhost' (using password: NO)")

答案就在这里

app.config['MYSQL_USERNAME']='root'

应该是

app.config['MYSQL_USER']='root'

【讨论】:

    猜你喜欢
    • 2010-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-07
    • 2019-05-15
    • 2016-08-08
    • 1970-01-01
    • 2012-08-11
    相关资源
    最近更新 更多