Deploy MySQL en Railway
Deploy and Host MySQL en Railway with Railway
Mysql_railway
Just deployed
/var/lib/mysql
MySQL en Railway
Este repositorio contiene la configuración para desplegar un servidor MySQL optimizado en Railway.
Deploy and Host
Puedes desplegar este proyecto directamente en Railway usando el siguiente botón o siguiendo los pasos manuales.
About Hosting
Este proyecto proporciona un contenedor Dockerizado para MySQL 8.0, preconfigurado para ejecutarse eficientemente en la infraestructura de Railway. Incluye ajustes específicos para permisos de volumen, zona horaria (Perú) y comprobaciones de estado (Healthchecks) para garantizar una alta disponibilidad.
Why Deploy
- Optimizado para Nube: Configuración ajustada para entornos de contenedores efímeros pero con persistencia garantizada.
- Zona Horaria Local: Configurado por defecto con
America/Limapara facilitar el manejo de fechas en aplicaciones locales. - Listo para Producción: Incluye Healthchecks y gestión de usuarios root segura mediante variables de entorno.
Common Use Cases
- Backend para Aplicaciones Web: Base de datos principal para aplicaciones Node.js, Python, Go, etc.
- Microservicios: Instancia de base de datos dedicada para servicios desacoplados.
- Entornos de Desarrollo y Staging: Réplica rápida de entornos de base de datos SQL.
Dependencies for
Deployment Dependencies
Para desplegar este proyecto necesitas:
- Una cuenta en Railway.
- (Opcional) Railway CLI instalado para gestión avanzada.
- (Opcional) Cliente MySQL local (Workbench, DBeaver, TablePlus) para conexión remota.
🚀 Guía de Despliegue Manual
Si no usas el botón de "Deploy on Railway":
- Nuevo Proyecto: En Railway, crea un
New Project>Empty Project. - Servicio: Añade un servicio seleccionando este repositorio.
- Variables de Entorno: Configura las siguientes variables ANTES del despliegue:
Variables de Entorno
| Variable | Descripción | Ejemplo |
|---|---|---|
MYSQL_ROOT_PASSWORD | Requerido. Contraseña para root. | MiPasswordSeguro123! |
MYSQL_DATABASE | crea una DB al iniciar. | mi_base_datos |
MYSQL_USER | Crea un usuario adicional. | app_user |
MYSQL_PASSWORD | Contraseña para MYSQL_USER. | AppPass123! |
Nota:
TZestá configurado por defecto aAmerica/Limaen el Dockerfile.
💾 Configuración de Volumen (Persistencia)
CRÍTICO: Para evitar perder datos al reiniciar, configura un volumen.
-
Ve a Settings > Volumes en tu servicio Railway.
-
Haz clic en + Add Volume.
-
Ruta de montaje (
Mount Path):/var/lib/mysql
🛠️ Conexión
Red Privada (Internal)
- Host:
${RAILWAY_PRIVATE_DOMAIN} - Port:
3306
Red Pública (External)
- Ve a Settings > Networking.
- Genera un Public Domain.
- Usa el host y puerto TCP proporcionados (ej.
autorailway.com:12345).
🩺 Healthcheck
El contenedor verifica automáticamente su estado cada 15s usando mysqladmin ping.
Template Content
Mysql_railway
Kennethguerra3/Mysql_railwayMYSQL_USER
example: user2
MYSQL_DATABASE
name db
MYSQL_PASSWORD
MYSQL_ROOT_PASSWORD