首页 > 解决方案 > 运行 python 应用程序时 MySql 访问被拒绝 [Ubuntu 1604/NGINX/uWSGI]

问题描述

我第一次尝试在 digitalocean 上部署一个测试 python 应用程序。(Ubuntu 16.04、uWSGI、NGINX)。我添加了一个用户并授予了所有权限(以及三重检查权限)。当我尝试运行该应用程序时,我的表都没有创建,当我检查 mysql 错误日志时,我看到:“用户'user'@'localhost'的访问被拒绝(使用密码:否)”

该应用程序本身运行良好,没有错误。只是我的表都没有创建,所以当我输入具有数据库查询的烧瓶路由时,我收到 500 错误

在我的 uWSGI 中,定义数据库时,我有以下内容:

ENVIRONMENT=DATABASE_URL=mysql://user:userpw@localhost:3306/databasename

我运行安装mysql的命令:

sudo apt-get install mysql-server

我可能会错过什么?这让我疯狂...

我非常仔细地遵循本教程,但将 postgres 更改为 mysql: https ://github.com/CristianoYL/Tutorials/blob/master/How%20To%20Deploy%20Python%20App%20Using%20uWSGI%20And%20Nginx.md

标签: mysqlnginxubuntu-16.04uwsgidigital-ocean

解决方案


到目前为止没有提及,但是FLUSH PRIVILEGES呢?

我也假设没有密码。密码“NO”(未提供)。我会查看用户表以查看它们是否已设置。从 mysql cli 与 HTTP 500 错误进行测试可能更容易:)

我首先尝试将此作为评论,但它说我需要 50 个代表。我会编辑这篇文章,直到我找到更好的方法......


推荐阅读