Tabla de contenidos
- 1
- 1.1 Introducción
- 1.2 Palabras clave SEO
- 1.3 Entendiendo el Entorno: n8n y MariaDB en Docker
- 1.4 Paso 1: Crear Usuario y Dar Permisos en MariaDB
- 1.5 Paso 2: Conectar n8n con MariaDB
- 1.6 Paso 3: Crear un Workflow con Formulario en n8n
- 1.7 Paso 4: Insertar Datos en la Base de Datos
- 1.8 Paso 5: Mapear Columnas Manualmente
- 1.9 Paso 6: Probar el Formulario
- 1.10 Errores Reales y Cómo Solucionarlos
- 1.11 Paso 7: Publicar el Formulario
- 1.12 Conclusión
Introducción
En este artículo aprenderás cómo conectar n8n con una base de datos MariaDB usando Docker y cómo crear un formulario funcional para insertar datos automáticamente. Además, verás algo muy valioso: cómo detectar y solucionar errores reales durante el proceso, algo clave cuando trabajas con automatizaciones.
Si estás empezando con n8n, bases de datos o contenedores, este contenido te va a ayudar muchísimo. ¡Vamos paso a paso!
Palabras clave SEO
n8n MariaDB Docker, conectar n8n base de datos, insertar datos MySQL n8n, workflow n8n formulario, automatización bases de datos
Entendiendo el Entorno: n8n y MariaDB en Docker
En este caso trabajamos con dos contenedores Docker independientes:
- Uno con n8n (automatizaciones y workflows)
- Otro con MariaDB (base de datos)
Aunque estén en la misma máquina, funcionan como sistemas separados, por lo que hay que configurar permisos y conexión manualmente.
Paso 1: Crear Usuario y Dar Permisos en MariaDB
Primero, accedemos al contenedor de MariaDB como root y ejecutamos:
- Crear usuario:
CREATE USER 'alumno' IDENTIFIED BY 'alumno123';
- Dar permisos:
GRANT ALL PRIVILEGES ON tienda.* TO 'alumno'@'%';
- Aplicar cambios:
FLUSH PRIVILEGES;
✅ Con esto conseguimos que el usuario pueda acceder desde cualquier host.
Paso 2: Conectar n8n con MariaDB
En n8n creamos una credencial MySQL con:
- Host: IP del contenedor (no localhost ❗)
- Base de datos: tienda
- Usuario: alumno
- Contraseña: alumno123
🔴 Importante:
No uses localhost. Debes obtener la IP o gateway del contenedor con:
docker inspect mariadb
Paso 3: Crear un Workflow con Formulario en n8n
Creamos un nuevo workflow llamado:
👉 Alta Cliente
Añadimos un nodo tipo formulario (n8n Form) con los campos:
- Nombre
- Apellidos
- DNI
- Dirección
- Fecha de nacimiento
Cada campo debe tener:
- Una etiqueta (lo que ve el usuario)
- Un nombre interno (el campo en la base de datos)
Paso 4: Insertar Datos en la Base de Datos
Añadimos un nodo MySQL con:
- Operación: Insert
- Tabla: cliente
Aquí ocurre algo importante 👇
Problema común
n8n intenta insertar campos extra como:
- submittedAt
- formMode
❌ Esto genera errores porque no existen en la base de datos.
Paso 5: Mapear Columnas Manualmente
La solución es mapear los campos manualmente:
- nombre → nombre
- apellidos → apellidos
- dni → dni
- direccion → direccion
- fecha_nacimiento → fecha_nacimiento
✔️ Esto evita errores y asegura que los datos coincidan correctamente.
Paso 6: Probar el Formulario
Ejecutamos el workflow y probamos con datos reales.
Si todo va bien:
- El formulario se envía
- Los datos se insertan en MariaDB
Puedes verificarlo con:
SELECT * FROM cliente;
Errores Reales y Cómo Solucionarlos
Durante el proceso pueden aparecer errores. Aquí tienes los más importantes:
1. IP incorrecta
- ❌ Usar localhost
- ✅ Usar IP del contenedor o gateway
2. Campos mal mapeados
Ejemplo:
- Dirección asignada como «apellidos»
✔️ Solución: revisar nombres internos
3. Campo faltante
Si no añades un campo en el formulario, no se insertará.
4. DNI duplicado
Si el DNI es único:
- ❌ Error al insertar duplicado
✔️ Solución:
- Validar antes de insertar
- O mostrar mensaje al usuario
5. Longitud del DNI
Si el valor es demasiado largo:
- ❌ Error de base de datos
✔️ Ajustar formato correctamente
Paso 7: Publicar el Formulario
Una vez todo funciona:
- Publica el formulario
- Obtén la URL pública
- Compártela
🎯 Resultado:
Cualquier persona puede enviar datos y se guardarán directamente en tu base de datos.
Conclusión
Acabas de aprender a:
✔️ Conectar n8n con MariaDB usando Docker
✔️ Crear un formulario funcional
✔️ Insertar datos automáticamente
✔️ Detectar y solucionar errores reales
Esto es una base increíble para construir aplicaciones automatizadas sin código.
Si este contenido te ha ayudado:
👉 Dale like 👍
👉 Suscríbete al canal 🔔
👉 Y sigue aprendiendo automatización paso a paso
Nos vemos en el siguiente artículo 🚀



