# ginger Small Flask project. This README explains how to store the MySQL password securely using the OS keyring and how to verify it. ## Secure DB password with keyring This project prefers reading `MYSQL_PASSWORD` from environment variables. If you don't want to store the password in `.env`, put it into the OS keyring (recommended for development machines). Service name used: `ginger_mysql` Examples: - macOS / Linux (python -c): python -c "import keyring; keyring.set_password('ginger_mysql', 'root', '@@qinys12346..')" - Windows PowerShell: python -c "import keyring; keyring.set_password('ginger_mysql', 'root', '@@qinys12346..')" To verify the stored password: python -c "import keyring; print(keyring.get_password('ginger_mysql', 'root'))" ## Alternative: environment variable You can also set `MYSQL_PASSWORD` in `.env` (not recommended to commit `.env`). The repository `.gitignore` already ignores `.env` files. ## Test DB connection (dev only) Start the app and POST to `/db/test` (only works when DEBUG or TESTING is true) to create tables and insert a test user. ## Notes - On CI or servers prefer a proper secret manager (Vault, AWS Secrets Manager, etc.) and inject secrets as env vars. - Do NOT commit real passwords to the repository.