sqlalchemy.exc.OperationalError:(MySQLdb._exceptions.OperationalError)(1045,“用户'root'@'localhost'的访问被拒绝”(使用密码:否)

2024-10-04 05:32:29 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我试图建立一个简单的博客网站,在这里我使用了Flask和Flask_-sqlalchemy。 在这里,我试图添加信息(姓名、电子邮件id等)UI part,然后单击按钮,它将保存到localhost/phpMyadmin

这里是Main.py文件

from flask import Flask , render_template ,redirect, url_for, request
from flask_sqlalchemy import SQLAlchemy


app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:@localhost/PersonalBlog'

# initialize
db = SQLAlchemy(app)

# To Db
class PostTable(db.Model):
    sno = db.Column(db.Integer, primary_key=True, unique=True, nullable=False)
    date = db.Column(db.DATE, primary_key=False)
    name = db.Column(db.String(120), unique=False, nullable=False)
    emailid = db.Column(db.String(50), unique=False, nullable=False)
    phone = db.Column(db.String(15), unique=False, nullable=False)
    message = db.Column(db.String(120), unique=False, nullable=False)

@app.route("/")
def home():
    return render_template('index.html')

@app.route("/homeclick")
def homeclick():
    return render_template('index.html')

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

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

@app.route("/contact" , methods=['POST', 'GET'])
def contact():
    if request.method == 'POST' :
        # add entry to the database

        name = request.form.get('name')
        emailid = request.form.get('email')
        phone = request.form.get('phone_number')
        message = request.form.get('message')

        entry_to_db = PostTable(name=name, emailid=emailid , phone=phone, message=message)
        db.session.add(entry_to_db)
        db.session.commit()
    return render_template('contact.html')

if __name__ == '__main__':
    app.run(debug=True, port=4013 , threaded=True)

在给出详细信息后单击Submit按钮时显示以下错误

sqlalchemy.exc.OperationalError sqlalchemy.exc.OperationalError:(MySQLdb._exceptions.OperationalError)(1045,“用户'root'@'localhost'的访问被拒绝”(使用密码:否) (此错误的背景信息位于:http://sqlalche.me/e/14/e3q8

完整的回溯详细信息(如果有帮助)

文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/engine/base.py”,第3211行,在“包装”池中 返回fn() 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/pool/base.py”,第307行,在connect中 返回\u连接\u签出(自我) 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/pool/base.py”,第767行,in\u签出 fairy=\u ConnectionRecord.checkout(池) 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/pool/base.py”,第425行,签出中 rec=pool.\u do\u get() 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/pool/impl.py”,第146行,在do\u get中 self.dec_溢出() 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/util/langhelpers.py”,第70行,在退出 compat.raise( 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/util/compat.py”,第207行,在raise 引发异常 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/pool/impl.py”,第143行,在 返回self.\u创建\u连接() 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/pool/base.py”,第253行,位于创建连接中 返回连接记录(自身) 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/pool/base.py”,第368行,在init 自我连接() 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/pool/base.py”,第611行,在连接中 debug(“connect()上的错误:%s”,e) 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/util/langhelpers.py”,第70行,在退出 compat.raise( 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/util/compat.py”,第207行,在raise 引发异常 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/pool/base.py”,第605行,在_connect中 连接=池。\u调用\u创建者(自身) 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/engine/create.py”,第578行,在connect中 返回方言。连接(*cargs,**cparams) 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/engine/default.py”,第584行,在connect中 返回self.dbapi.connect(*cargs,**cparams) 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/MySQLdb/init.py”,第130行,在Connect中 返回连接(*args,**kwargs) 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/MySQLdb/connections.py”,第185行,在init super().init(*args,**kwargs2) 上述异常是以下异常的直接原因: 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/Flask/app.py”,第2088行,在调用中 返回self.wsgi_应用程序(环境,启动响应) wsgi_应用程序中的文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/Flask/app.py”,第2073行 response=self.handle\u异常(e) wsgi_应用程序中的文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/Flask/app.py”,第2070行 response=self.full\u dispatch\u request() 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/Flask/app.py”,第1515行,完整发送请求 rv=自身处理用户异常(e) 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/Flask/app.py”,第1513行,完整发送请求 rv=自我分派请求() 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/Flask/app.py”,第1499行,发送请求 返回self.sure_sync(self.view_函数[rule.endpoint])(**req.view_参数) 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/main.py”,第48行,联系人 db.session.commit() 提交中第2行的文件“”

提交中的文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/orm/session.py”,第1428行 self.\u transaction.commit(\u to\u root=self.future) 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/orm/session.py”,第829行,提交 self.\u prepare\u impl() 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/orm/session.py”,第808行,在“准备”impl中 self.session.flush() 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/orm/session.py”,第3298行,齐平 自冲洗(对象) 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/orm/session.py”,第3438行,在flush中 事务.回滚(capture\u exception=True) 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/util/langhelpers.py”,第70行,在退出 compat.raise( 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/util/compat.py”,第207行,在raise 引发异常 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/orm/session.py”,第3398行,in _flush flush_context.execute() 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/orm/unitofwork.py”,第456行,在execute中 rec.execute(self) 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/orm/unitofwork.py”,第630行,在execute中 util.preload.orm_persistence.save_obj( 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/orm/persistence.py”,第209行,在save_obj中 为了( 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/orm/persistence.py”,第370行,在组织状态以进行保存 对于状态,dict,mapper,用于状态的连接中的连接( 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/orm/persistence.py”,第1709行,在“连接”中表示“状态” connection=uowtransaction.transaction.connection(基本映射器) 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/orm/session.py”,第626行,连接 为绑定返回self.\u连接(绑定、执行选项) 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/orm/session.py”,第735行,用于绑定 conn=self.\u parent.\u连接\u用于绑定(绑定、执行\u选项) 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/orm/session.py”,第747行,用于绑定 conn=bind.connect() 文件“/Users/ranjankumar/Desktop/Folders/projectflask/env/lib/python3.8/站点包/sqlalchemy/engine/base.py”,第3165行,连接中 返回self.\u连接\u cls(self,使用结果关闭\u=使用结果关闭\u) 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/engine/base.py”,第96行,在init else引擎原始连接() 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/engine/base.py”,第3244行,原始连接 返回self.\u包装\u池\u连接(self.pool.connect,\u连接) 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/engine/base.py”,第3214行,在“包装”池中 连接。处理\u dbapi\u异常\u无连接( 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/engine/base.py”,第2068行,在handle\u dbapi\u exception\u noconnection中 util.raise( 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/util/compat.py”,第207行,在raise 引发异常 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/engine/base.py”,第3211行,在“包装”池中 返回fn() 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/pool/base.py”,第307行,在connect中 返回\u连接\u签出(自我) 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/pool/base.py”,第767行,in\u签出 fairy=\u ConnectionRecord.checkout(池) 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/pool/base.py”,第425行,签出中 rec=pool.\u do\u get() 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/pool/impl.py”,第146行,在do\u get中 self.dec_溢出() 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/util/langhelpers.py”,第70行,在退出 compat.raise( 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/util/compat.py”,第207行,在raise 引发异常 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/pool/impl.py”,第143行,在 返回self.\u创建\u连接() 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/pool/base.py”,第253行,位于创建连接中 返回连接记录(自身) 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/pool/base.py”,第368行,在init 自我连接() 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/pool/base.py”,第611行,在连接中 debug(“connect()上的错误:%s”,e) 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/util/langhelpers.py”,第70行,在退出 compat.raise( 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/util/compat.py”,第207行,在raise 引发异常 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/pool/base.py”,第605行,在_connect中 连接=池。\u调用\u创建者(自身) 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/engine/create.py”,第578行,在connect中 返回方言。连接(*cargs,**cparams) 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/sqlalchemy/engine/default.py”,第584行,在connect中 返回self.dbapi.connect(*cargs,**cparams) 文件“/Users/ranjankumar/Desktop/Folders/Project Flask/env/lib/python3.8/site packages/MySQLdb/init.py”,第130行,在Connect中 返回连接(*args,**kwargs) 文件“/Users/ranjankumar/Desktop/文件夹/Project Flask/env/lib/python3.8/site packages/MySQLdb/connections.py”,第185行,在init super().init(*args,**kwargs2) sqlalchemy.exc.OperationalError:(MySQLdb._exceptions.OperationalError)(1045,“用户'root'@'localhost'的访问被拒绝”(使用密码:否) (此错误的背景信息位于:http://sqlalche.me/e/14/e3q8) 调试器在WSGI应用程序中捕获到异常。现在可以查看导致错误的回溯。 要在交互式回溯和纯文本回溯之间切换,您可以单击“回溯”标题。从文本回溯中,您还可以创建它的粘贴。要执行代码,请将鼠标悬停在要调试的框架上,然后单击右侧的控制台图标

您可以在堆栈框架中执行任意Python代码,并且有一些额外的帮助程序可用于内省:

dump()显示帧中的所有变量 dump(obj)转储关于对象的所有已知信息


Tags: 文件pyselfenvprojectflaskbasesqlalchemy
1条回答
网友
1楼 · 发布于 2024-10-04 05:32:29

您的连接字符串未使用passoword,mysql://root:<PASSWORD>@localhost/PersonalBlog

您应该尝试在不使用密码的情况下以root用户身份登录数据库,看看会发生什么

您可以尝试添加一个密码为的新用户,该用户对该数据库具有完全(或不)访问权限,因此您只需在您的案例中更改用户root,并将<PASSWORD>更改为新用户即可。您还可以尝试更改/设置根用户的密码

相关问题 更多 >