gpt4 book ai didi

mysql - PythonAnywhere 尝试访问 MySQL 数据库时出错(访问被拒绝)

转载 作者:行者123 更新时间:2023-11-29 18:52:17 35 4
gpt4 key购买 nike

我已经按照所有指南和教程在 PythonAnywhere 中设置了一个环境,其中包含一个简单的数据库 (new_db)。

我有一个简单的 python Flask 应用程序,它尝试使用以下代码连接到数据库:

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

app = Flask(__name__)
app.config["DEBUG"] = True

SQLALCHEMY_DATABASE_URI = "mysql+mysqlconnector://{username}:{password}@{hostname}/{databasename}".format(
username="WazzalJohn",
password="my_password_here",
hostname="WazzalJohn.mysql.pythonanywhere-services.com",
databasename="WazzalJohn$new_db>",
)
app.config["SQLALCHEMY_DATABASE_URI"] = SQLALCHEMY_DATABASE_URI
app.config["SQLALCHEMY_POOL_RECYCLE"] = 299
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = True

db = SQLAlchemy(app)

但我不断收到错误:

编程错误:(mysql.connector.errors.ProgrammingError)1044(42000):用户“WazzalJohn”@“%”对数据库“WazzalJohn$new_db>”的访问被拒绝

我尝试创建一个新的数据库,但遇到了同样的问题。我以为 PythonAnywhere 可以处理所有这些类型的问题,所以不知道该怎么办...有人在 PythonAnywhere 上遇到过同样的问题吗?

我现在尝试通过 BASH 控制台登录并收到类似的消息 - 屏幕截图是 here

最佳答案

在您的原始代码中,数据库名称有错误:

databasename="WazzalJohn$new_db>",

...应该是:

databasename="WazzalJohn$new_db",

...没有额外的“>”。

屏幕截图中的问题是您没有在命令行上指定数据库;你需要做类似的事情:

mysql -u TWarren -h TWarren.mysql.pythonanywhere-services.com -p  'TWarren$default'

...其中“TWarren$default”应替换为实际的数据库名称。顺便说一句,数据库名称周围的单引号很重要——如果您不使用它们,Bash 会将“$default”解释为环境变量,并且 mysql 将尝试连接到错误的数据库。

关于mysql - PythonAnywhere 尝试访问 MySQL 数据库时出错(访问被拒绝),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44319350/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com