小编Tob*_*eed的帖子

尽管已设置密码并在连接 uri 中输入,但用户 root@localhost 的 mysql 访问被拒绝(使用密码:否)

我正在尝试在 Flask 应用程序中使用 pymysql 和 Flask-sqlalchemy 配置一个 mysql 数据库。

db = SQLAlchemy()
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:password@localhost:3306/ftm'
db.init_app(app)
Run Code Online (Sandbox Code Playgroud)

但是,当我运行我的应用程序时,我得到:

OperationalError: (pymysql.err.OperationalError) (1045, u"Access denied for user 'root'@'localhost' (using password: NO)")
Run Code Online (Sandbox Code Playgroud)

我尝试重置密码,并验证它是否有效:从命令行,我可以通过以下方式输入 mysql:

mysql -u root -p
Run Code Online (Sandbox Code Playgroud)

然后在提示下输入我的密码。有没有人知道为什么 mysql 似乎认为我试图在没有密码的情况下进行连接,即使我在 URI 中有一个(有效的)密码?

请注意,这是与mysql_exceptions.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: YES)")和其他潜在重复项不同的问题,因为这些错误消息至少注册了连接尝试附有密码。

编辑:在任何特定的顺序,我:尝试不同的用户检查连接字符串的状态立即db.init_app之前,创造了MySQL的不同实例,并试图连接到它,去除pymysql从连接字符串,并试图回用 pdb 跟踪它(没用,因为我认为我自己的唯一方法调用是 init_app())。我还搜索了互联网,没有发现任何人在尝试使用密码连接到数据库时收到此错误消息。我能想到的唯一剩下的可能性是在从 app.config 传递到 mysql(当我调用 db.init_app 时)时,某些东西正在更改我的字符串以删除密码。有任何想法吗?如果没有人,我只需要使用 Postgre 或其他什么......

mysql sqlalchemy flask flask-sqlalchemy pymysql

2
推荐指数
2
解决办法
1万
查看次数

使用Flask-RESTful检索查询参数

我有一个flask-RESTful端点,定义为:

class SearchEvents(Resource):
    def get(self, name, start_date, end_date):
         #do stuff

api.add_resource(endpoints.SearchEvents, '/events/<string:name>/<string:start_date>/<string:end_date>')
Run Code Online (Sandbox Code Playgroud)

我正在用邮递员手动测试它。我想传递start_date和end_date的空值。然而:

邮递员界面的屏幕截图 我尝试将网址修改为:

http://127.0.0.1:5000/events/test/ /  #<--Spaces
Run Code Online (Sandbox Code Playgroud)

http://127.0.0.1:5000/events/test/""/""
Run Code Online (Sandbox Code Playgroud)

无济于事。

query-string flask flask-restful postman

2
推荐指数
1
解决办法
2882
查看次数