I have bought a basic 6$ pythonanywhere
server which allows for SCP
and SSH
connections to their servers. I have deployed my flask
application (REST API
) to the server and set up a local environment (installed packages, set up path and environmental variables). I ran the app, and it gives me the 404 page
on the /
route which is actually a sign that it is working.
However when I try to hit a route like /api/users/3
for example, it gives me an error 500
(internal server error). I dug around some log
files on the server and found one which is basically the output of the WSGI
web server which is host to my flask application. It said that there is an issue with the database communication. From what I understand, it connected successfully but it couldn't query the data from the table:
(1044, "Access denied for user 'secret_username'@'%' to database 'test'")
I have tried to fix this through the web mysql console by giving my <secret_username>@secret_username.pythonanywhere.com
all the privilages to test.*
, but it gives me an access error
once again. I tried to SSH into the machine that is host to the mysql server and tried to connect to it - secret_username.mysql.pythonanywhere-services.com
but it doesn't allow me to ssh into this server.
Has anyone experienced this issue? I am almost sure that my connection is set up correctly because if it didn't establish connection it would give me an access error with message `using password "yes". I've read on forums a bit, they suggest installing a mysql server on the same server as the flask application, but I don't have access to sude for some reason, probably due to my cheap plan. Any ideas?
If you are using the MySQL database provided by PythonAnywhere, with the hostname secret_username.mysql.pythonanywhere-services.com
, then your database will be called secret_username$test
, not just test
-- see the "Databases" page on the PythonAnywhere website.