使用flask_mysqldb时Mysql错误1045(用户访问被拒绝)

标签 mysql flask

操作系统: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()

数据库如下所示: Database schema

完整的错误消息是:

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

发生在队列中

cur=mysql.connection.cursor()

而yiling是我的系统账户名。

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

Root user permissions

最佳答案

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

答案就在这里

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

应该是

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

关于使用flask_mysqldb时Mysql错误1045(用户访问被拒绝),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55892542/

相关文章:

python - Ubuntu 上的 Flask 无法找到 Flask.json

python - 在 Flask 中引用父目录上方的静态文件

python - 从最后一个索引开始查询数据库 SQLAlchemy

在 firefox 上使用 Mysql 的 PHP 报告

MySQL 使用通配符选择范围

更新后 MySQL 错误

python - 如何上传 CSV,在后台处理它并使新文件可用于 Flask 中下载

mysql - AWS Aurora 迁移; MySQL 分区表无法恢复

MySQL:是否可以在同一个结果表中显示聚合数据1和聚合数据2?

python - SQLAlchemy 与 Flask 不提交