首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PythonAnywhere试图访问MySQL数据库时出错(访问被拒绝)

PythonAnywhere试图访问MySQL数据库时出错(访问被拒绝)
EN

Stack Overflow用户
提问于 2017-06-02 01:09:12
回答 1查看 918关注 0票数 0

我在PythonAnywhere中使用一个简单的数据库(new_db)设置了一个环境,遵循所有的指南和教程。

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

代码语言:javascript
复制
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)

但我不断地发现错误:

ProgrammingError:(mysql.connector.errors.ProgrammingError) 1044 (42000):拒绝用户WazzalJohn@‘%’访问数据库'WazzalJohn$new_db>‘

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

我现在尝试通过BASH控制台登录,并获得了类似的消息屏幕快照是这里

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-02 13:07:33

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

代码语言:javascript
复制
databasename="WazzalJohn$new_db>",

...should be:

代码语言:javascript
复制
databasename="WazzalJohn$new_db",

...without额外的">“。

屏幕截图中的问题是,您没有在命令行中指定数据库;您需要执行以下操作:

代码语言:javascript
复制
mysql -u TWarren -h TWarren.mysql.pythonanywhere-services.com -p  'TWarren$default'

应该将...where 'TWarren$default‘替换为实际的数据库名称。数据库名周围的单引号很重要,BTW --如果您不使用它们,Bash会将"$default“解释为环境变量,mysql将尝试连接到错误的数据库。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44319350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档