Comment enregistrer les requêtes SQL de la base de données WordPress

Emportez avec vous les modifications de votre base de données, sans toucher manuellement à phpMyAdmin.

Schéma d'enregistrement des requêtes SQL de la base de données WordPress

TL;DR

  1. Installez WP Staging SQL Recorder.
  2. Cliquez sur Start Recording dans Tools → SQL Recorder.
  3. Effectuez les modifications que vous souhaitez copier.
  4. Cliquez sur Stop Recording et téléchargez le fichier .sql.
  5. Importez ce fichier sur le site de destination via WP-CLI ou phpMyAdmin.

Objectif : Idéal pour les déploiements de staging vers production, le débogage ou le clonage d’un site tout en gardant les modifications de contenu synchronisées.


Pourquoi enregistrer les requêtes SQL ?

  • Migrations granulaires – Déplacez uniquement les modifications que vous venez d’effectuer, et non un dump complet de la base.
  • Piste d’audit – Voyez exactement quel SQL s’exécute quand un plugin ou un thème enregistre des données.
  • Débogage – Reproduisez des bugs délicats sur un site de dev en rejouant les requêtes.

Prérequis

  • WordPress 5.8+ (testé jusqu’à 6.8.2).
  • Accès administrateur sur les sites source et cible.
  • L’extension gratuite WP Staging SQL Recorder (lien de téléchargement ci-dessous).
  • Permissions de base pour l’import en base de données (WP-CLI ou phpMyAdmin).

Guide étape par étape

1. Installer et activer l’extension

  1. 🚀 Téléchargez wp-sql-recorder.zip depuis GitHub.
  2. Allez dans Plugins → Add New → Upload Plugin.
  3. Téléversez le ZIP, cliquez sur Install Now, puis sur Activate.

2. Démarrer l’enregistrement

  • Allez dans Tools → SQL Recorder.
  • Cliquez sur Start Recording.
  • Une bannière verte confirme que l’enregistrement est actif et affiche le nom de fichier, par exemple wp-sql-20250716-153045.sql.
Démarrer l'enregistrement
Arrêter l'enregistrement SQL

3. Effectuez vos modifications

Tout ce qui déclenche des instructions INSERT, UPDATE, DELETE, CREATE ou ALTER est capturé. Exemples :

  • Publication de nouveaux articles ou pages.
  • Installation d’un thème qui crée des tables personnalisées.
  • Exécution de l’assistant de migration de données d’une extension.

⚠️ Les requêtes SELECT sont ignorées afin de garder le dump sûr à importer et compact.

4. Arrêter et télécharger le fichier

  1. Retournez dans Tools → SQL Recorder.
  2. Cliquez sur Stop Recording.
  3. Un bouton apparaît pour Download SQL file.

Le fichier réside temporairement dans /wp-content/uploads/sql-recordings/ – pratique pour le scripting.

5. Transférer le fichier SQL vers votre serveur de destination

# Exemple via scp
scp wp-sql-20250716-153045.sql user@prod:/var/www/html/

6. Importer sur le site cible

A. Avec WP-CLI (recommandé)

wp db import wp-sql-20250716-153045.sql

WP-CLI utilise automatiquement les identifiants présents dans wp-config.php.

B. Avec phpMyAdmin / Adminer

  1. Ouvrez la base de données du site dans phpMyAdmin.
  2. Cliquez sur Import, choisissez le fichier, puis lancez.

Préfixe différent ? Si votre site cible utilise un préfixe de table différent (wp_wp7_), effectuez une recherche-remplacement rapide avant l’import :

sed -i 's/`wp_/`wp7_/g' wp-sql-*.sql

Automatiser le flux de travail

Besoin de déployer la nuit ? Associez WP SQL Recorder à un script WP-CLI piloté par cron :

wp option update wpsr_recording 1                 # démarrer
sleep 3600                                        # ...une heure de modifications
wp option update wpsr_recording 0                 # arrêter
FILE=$(wp option get wpsr_current_file)
wp db export "$FILE"                              # copie de sécurité optionnelle
rsync -avz "$FILE" prod:/var/www/html/sql/
ssh prod "wp --path=/var/www/html db import sql/$(basename $FILE)"

Dépannage

Symptôme Solution
Le fichier ne se télécharge pas Assurez-vous que uploads/sql-recordings/ est inscriptible (permissions 755).
L’import échoue avec des erreurs de clés étrangères Importez en période de faible trafic ou désactivez les contrôles FK : SET FOREIGN_KEY_CHECKS=0; avant le dump.
Rien n’est enregistré Vérifiez que l’enregistrement est activé et que vous avez effectué des actions écrivant dans la BD.

Foire aux questions

Cela ralentit-il mon site ?

Très peu. Chaque requête d’écriture est ajoutée à un fichier avec LOCK_EX. Sur les sites à forte écriture, envisagez de l’activer uniquement pendant les fenêtres de déploiement.

Puis-je filtrer des tables spécifiques ?

Pas encore, mais c’est sur notre feuille de route. Étoilez le dépôt pour recevoir les mises à jour !

Le dump est-il compatible avec MariaDB ?

Oui – les requêtes sont capturées exactement telles que MySQL/MariaDB les reçoit.


Prochaines étapes et appel à l’action

  • Téléchargez WP SQL Recorder → Page de l’extension ›
  • Abonnez-vous à notre newsletter pour plus d’astuces de développement WordPress.
  • Partagez cet article ! Il aide d’autres développeurs et booste notre portée.

Ce guide vous a-t-il fait gagner du temps ? Tweetez-nous votre histoire de réussite avec #WP Staging SQLRecorder.

Articles connexes

Rene Hermenau

Auteur : Rene Hermenau

À propos de l'auteur : René Hermenau est le fondateur de WP STAGING. Il travaille sur les sauvegardes WordPress, les environnements de staging, les migrations, la gestion des bases de données et les workflows de déploiement sécurisés.