使用flask_mysqldb时发生MySQL错误1045(拒绝用户访问)

时间:2019-04-28 16:53:11

标签: 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

1 个答案:

答案 0 :(得分:1)

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

答案在这里

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

应该是

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