mysql.connector.errors.ProgrammingError: 1045 (28000): 拒绝用户 'root'@'localhost' 访问(使用密码:NO)

问题描述 投票:0回答:1

我正在尝试使用 Xampp 服务器 (myphpadmin) 为我的登录页面连接数据库

python代码如下:

run.py

from application import app

if __name__=="__main__":
    app.run(host ='0.0.0.0', debug=True)

init.py

from flask import Flask 

app=Flask(__name__)

from application import main

main.py

from application import app
from flask import Flask,render_template,request
import mysql.connector


@app.route('/')
def login():
    return render_template('login.html')

@app.route('/result',methods=['POST','GET'])
def result():
    mydb=mysql.connector.connect(
        host="localhost",
        user="root",
        password="",
        database="user-system"
    )
    mycursor=mydb.cursor()
    if request.method=='POST':
        signup=request.form
        username=signup['user']
        password=signup['pass']
        mycursor.execute("select *form user where name=='"+username+"' and password=='"+password+"'")
        r=mycursor.fetchall()
        count=mycursor.rowcount
        if count==1:
            return render_template("test.html")
        elif count> 1:
            return "More than One USER "
        else:
            return render_template("login.html")
    mydb.commit()
    mycursor.close()

代码运行成功,但在使用数据库数据登录后,它会将我重定向到以下错误:

Image shows the Error:

python mysql-connector flask-login access-denied mysql-error-1045
1个回答
0
投票

您正在使用没有密码的用户

root
可能不允许。我的建议是通过以下步骤添加带有密码的新用户帐户以正确访问您的 MySQL 数据库:

  1. 打开 phpMyAdmin.
  2. 点击
    User accounts
  3. 点击
    Add user account
  4. 输入您的新用户名并填写密码,然后在
    Global Privileges
    上全部检查并单击Go
  5. 最后,编辑这一行:
mydb=mysql.connector.connect(
        host="localhost",
        user="<your new username>",
        password="<your new password>",
        database="user-system"
    )
© www.soinside.com 2019 - 2024. All rights reserved.