Intégration MySQL n8nAutomatiser MySQL avec n8n.
Ta base MySQL stocke déjà ce que tes outils se repassent en CSV. L’intégration MySQL n8n expose 6 opérations sur une ressource Database, du Select filtré à la requête SQL libre. Côté MySQL, aucun nœud trigger : c’est un Schedule Trigger ou un Webhook qui lance l’exécution.
Avis vérifiés sur Trustpilot · Agence IA, automatisation & growth
Que fait vraiment l’intégration MySQL n8n ?
L’intégration MySQL n8n, c’est le nœud MySQL livré avec n8n : une ressource Database et 6 opérations qui parlent à ton serveur, Select, Insert, Insert or Update, Update, Delete, plus Execute SQL pour tout le reste. n8n ouvre la connexion avec le credential enregistré (l’identifiant stocké une fois dans n8n), exécute l’instruction et renvoie les lignes au nœud suivant sous forme d’items. Rien à installer côté base.
Premier cas, le plus courant : sortir des chiffres sans ouvrir de client SQL. Un Schedule Trigger se déclenche le premier lundi du mois, database.select lit les factures du mois écoulé avec une condition sur la colonne de date, et les lignes atterrissent dans un onglet Google Sheets que la compta consulte sans rien demander à personne.
Deuxième cas, le sens inverse : des données arrivent et doivent être rangées. Une pièce jointe récupérée dans Gmail, un formulaire rempli sur le site, un fichier lu par un nœud précédent, tout finit dans database.insert. Quand les noms des champs correspondent déjà aux noms des colonnes, Auto-Map Input Data to Columns fait le travail de mapping.
Troisième cas, garder deux systèmes alignés. database.upsert prend une Column to Match On, souvent un email ou un identifiant externe, et tranche ligne par ligne : mise à jour si la ligne existe, création sinon. Relancer le même import ne crée rien en double, ce qui rend la planification tranquille.
Quand une opération manque, il n’y a pas d’API de secours à appeler ici : MySQL parle SQL, donc database.executeQuery sert de porte de sortie. Jointures, agrégats, clause WHERE sur deux colonnes, tout ce que les cinq opérations typées n’exposent pas passe par là, avec Query Parameters à la place d’une concaténation de chaînes. Les équipes qui automatisent déjà Postgres retrouveront exactement la même organisation du nœud.
Deux limites à connaître avant de dessiner le workflow. Il n’existe pas de nœud trigger MySQL : chaque exécution démarre sur un Schedule Trigger, un Webhook ou le trigger d’un autre outil. Et le nœud renvoie les valeurs DECIMAL sous forme de chaînes par défaut, ce qui surprend le premier workflow qui essaie de les additionner. Le reste relève du travail de base classique : l’Avis n8n détaille le comportement de la plateforme sur de gros volumes, et la Formation n8n reprend la construction de ces workflows pas à pas.
Comment connecter MySQL à n8n ?
- 01
Créer l’utilisateur de la base
Tout commence côté MySQL : il faut un compte utilisateur sur le serveur, avec les droits qui correspondent à ce que le workflow va faire. Un droit de lecture suffit pour un nœud qui se contente de Select ; les insertions, mises à jour et suppressions demandent un droit d’écriture sur les tables visées. Ce nom de compte et son mot de passe iront dans User et Password.
- 02
Remplir la connexion à la base
Dans n8n, ouvre le menu Credentials et crée un credential MySQL, réutilisable dans tous les workflows depuis la liste déroulante du nœud. Host reçoit le nom d’hôte ou l’adresse IP, Database le nom de la base, Port le port d’écoute, soit
3306s’il n’a pas bougé. Connect Timeout se compte en millisecondes et vaut10000par défaut. - 03
Activer SSL ou un tunnel SSH
SSL attend le contenu de tes certificats :
ca.pemdans CA Certificate,client-key.pemdans Client Private Key,client-cert.pemdans Client Certificate. SSH Tunnel glisse la connexion dans un canal chiffré : SSH Host, SSH Port, SSH User, mot de passe ou clé.
Que sait faire le nœud MySQL ?
Le nœud MySQL expose 6 opérations sur 1 ressources. Pour chacune : le nœud tel que tu le configures dans n8n, les champs obligatoires, et nos notes de terrain.
| Ressource | Update | Delete | Execute SQL | Insert | Select | Insert or Update |
|---|---|---|---|---|---|---|
| Database | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Sommaire des opérations
Database
6 opérationsDelete table or rows
database.deleteTableCe que tu vois dans n8n
Notes & cas d'usage
Le champ Command mérite une relecture avant chaque exécution : vider la table, effacer une sélection de lignes ou supprimer la table pour de bon.
Paramètres clés
- Command :
truncateefface les données et conserve la structure de la table,deletene retire que les lignes qui répondent aux conditions,dropsupprime les deux définitivement. - Select Rows : les conditions utilisées quand Command vaut
delete; laissé vide, toutes les lignes de la table y passent. - Combine Conditions :
ANDne garde que les lignes qui remplissent toutes les conditions,ORcelles qui en remplissent au moins une.
Execute a SQL query
database.executeQueryCe que tu vois dans n8n
Notes & cas d'usage
Tout ce que les opérations typées ne couvrent pas passe par ici : la requête part telle quelle vers le serveur, jointure, agrégat ou mise à jour conditionnelle.
Paramètres clés
- Query : requis, l’instruction SQL, par exemple
SELECT id, name FROM product WHERE id < 40. - Query Parameters : une liste de valeurs séparées par des virgules, appelées dans la requête sous la forme
$1,$2,$3; la parade contre l’injection SQL, puisque les données n’entrent jamais dans la requête. - Query Batching :
singleenvoie une requête pour tous les items,independentlyune requête par item,transactionannule tout si une instruction échoue.
Insert rows in a table
database.insertCe que tu vois dans n8n
Notes & cas d'usage
Un item entrant, une ligne créée. Le nœud rédige l’instruction INSERT à ta place, la seule question étant la correspondance entre champs de l’item et colonnes de la table.
Paramètres clés
- Data Mode :
autoMapInputDataassocie les propriétés de l’item aux colonnes qui portent le même nom,defineBelowlaisse régler chaque colonne de destination à la main. - Values to Send : en mode manuel, les paires colonne et valeur écrites dans la ligne, souvent via une expression comme
{{ $json.email }}. - Replace Empty Strings with NULL : à activer quand les lignes sortent d’un tableur, où les cellules vides arrivent sous forme de chaînes vides.
Insert or update rows in a table
database.upsertCe que tu vois dans n8n
Notes & cas d'usage
Cette opération existe pour éviter les doublons : elle cherche la ligne, la met à jour si elle la trouve, la crée sinon.
Paramètres clés
- Column to Match On : requis, la colonne qui sert à retrouver la ligne à mettre à jour ; elle doit être unique et l’opération n’y touche jamais.
- Value of Column to Match On : la valeur comparée à cette colonne, les items sans correspondance créant de nouvelles lignes.
- Data Mode : automatique quand les propriétés de l’item portent déjà le nom exact des colonnes, manuel quand la source les nomme autrement.
Select rows from a table
database.selectCe que tu vois dans n8n
Notes & cas d'usage
La lecture se configure sans écrire une ligne de SQL : choix de la table, conditions, tri, et les lignes ressortent en items exploitables par la suite du workflow.
Paramètres clés
- Return All : coché, toutes les lignes qui répondent aux conditions remontent ; décoché, Limit fixe le nombre maximal de lignes renvoyées.
- Select Rows et Operator : les conditions, dont
LIKE, où%remplace un nombre quelconque de caractères et_un seul. - Sort et Direction : l’ordre du résultat,
ASCouDESC, avant sa sortie du nœud. - Output Columns : ne garder que les colonnes dont le nœud suivant a besoin.
Update rows in a table
database.updateCe que tu vois dans n8n
Notes & cas d'usage
Rien de neuf ne sort d’ici : le nœud retrouve les lignes qui correspondent et réécrit les colonnes listées, sans jamais en créer une nouvelle.
Paramètres clés
- Column to Match On : requis, la colonne qui identifie les lignes à modifier, et que l’écriture laisse intacte.
- Value of Column to Match On : la valeur à laquelle elle est comparée, souvent
{{ $json.id }}transmis par le nœud précédent. - Values to Send : les colonnes à réécrire et leurs nouvelles valeurs.
Besoin d'aide pour automatiser MySQL avec n8n ?
L'équipe te répond directement.
Chaque message est lu par une personne.

