Unable to connect streamlit with MySQL DB in deployment but connected at local host

Github Link: GitHub - deepikagoel1/Appmela code is in home.py, coord.py but unable to use DB in deployment. Please take the issue on priority and respond to me ASAP at email: goeld9911@gmail.com

secrets.toml file

[mysql]
host = “localhost”
port = 3306
database = “appmela”
user = “root”
password = “india@123”

Howdy, @Deepika_Goel!

I think the error might be because you’re using localhost to run your database - which explains running on your local machine. The point is that when your project is on Streamlit Cloud, it cannot access your local machine unless you open your firewalls (generally in your ISP).

NOTE :shield:
Also, I’d like to give you a best practice tip. Instead of getting your password there for everyone to see, try storing in a separate .json or .txt file and - when you need it - just read into the app without showing.
With this, you can add a .gitignore to your project and prevent your password(s) from being exposed.

@naomilago - I think @Deepika_Goel is already using Streamlit best practice by way of secrets.toml.

@Deepika_Goel - You will be unable to host a MySQL server on Streamlit Cloud. You must connect to a remote MySQL database from Streamlit Cloud.

1 Like