Tutorial

Cómo Conectar n8n con MariaDB y Crear un Formulario para Insertar Datos (Guía Completa Paso a Paso)

19 Mar 2026 Por enguillem 3 min de lectura

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 🚀

También te puede interesar