Static IP guide
Connecting to MySQL with a static IP from a Python app on Heroku
Whether you use mysqlclient, PyMySQL, or Django's MySQL backend, none of them speak SOCKS — so on Heroku the reliable approach is a Fixie-Wrench tunnel on localhost:3306. Your settings point at localhost; the allowlisted server sees only Fixie's static IPs.
Recommended setup
Use Fixie Socks Heroku add-on for MySQL or MariaDB connections from a dynamic hosting platform. Store the proxy value in FIXIE_SOCKS_HOST, then configure Python to route outbound traffic through Fixie before connecting to MySQL.
Set up Fixie on Heroku
Heroku is a native Fixie marketplace flow. Install the Fixie Socks Heroku add-on or attach it from the Heroku CLI. Heroku will create FIXIE_SOCKS_HOST as a config var for the app.
Attach fixie-socks to your Heroku app
Implementation
The example below shows the core application-side change. Keep credentials in environment variables and avoid committing proxy, database, or API secrets.
Forward a local port to MySQL through Fixie Socks
Good to know
- Set the connection host to
127.0.0.1and keep TLS options as-is; the encrypted session passes through the tunnel untouched. - Cloud MySQL firewalls (RDS security groups, Cloud SQL authorized networks, Azure firewall rules) need both Fixie IPs added.
Allowlist and test the static IPs
- Open the Fixie dashboard and copy the outbound IP addresses for this proxy.
- Add both IPs to the MySQL firewall or security group.
- Deploy the updated Python app on Heroku.
- Run a small connection test before sending production traffic.
Related guides
- Making API requests with a static IP from a Python app on Heroku
- Connecting to MySQL with a static IP from a Node app on Heroku
- Connecting to Postgres with a static IP from a Python app on Heroku
- Connecting to MySQL with a static IP from a Ruby app on Heroku
- Connecting to Amazon Redshift with a static IP from a Python app on Heroku
Related docs
- Python implementation examples
- Heroku setup documentation
- MySQL connection guide
- Fixie-Wrench for TCP forwarding
Is this guide useful?