MySQL
The Railway MySQL database template allows you to provision and connect to a MySQL database with zero configuration.
Deploy
Add a MySQL database to your project via the ctrl / cmd + k
menu or by clicking the + New
button on the Project Canvas.
You can also deploy it via the template from the template marketplace.
Deployed Service
Upon deployment, you will have a MySQL service running in your project, deployed directly from the mysql Docker image.
Connect
Connect to MySQL from another service in your project by referencing the environment variables made available in the MySQL service:
MYSQLHOST
MYSQLPORT
MYSQLUSER
MYSQLPASSWORD
MYSQLDATABASE
MYSQL_URL
Connecting Externally
It is possible to connect to MySQL externally (from outside of the project in which it is deployed), by using the TCP Proxy which is enabled by default.
Keep in mind that you will be billed for Network Egress when using the TCP Proxy.
Modify the Deployment
Since the deployed container is pulled from the official MySQL image in Docker hub, you can modify the deployment based on the instructions in Docker hub.
Backups and Observability
Especially for production environments, performing regular backups and monitoring the health of your database is essential. Consider adding:
-
Backups: Automate regular backups to ensure data recovery in case of failure. We suggest checking out our native Backups feature.
-
Observability: Implement monitoring for insights into performance and health of your databases. If you're not already running an observability stack, check out these templates to help you get started building one:
Additional Resources
While these templates are available for your convenience, they are considered unmanaged, meaning you have total control over their configuration and maintenance.
We strongly encourage you to refer to the source documentation to gain deeper understanding of their functionality and how to use them effectively. Here are some links to help you get started:
Edit this file on GitHub