Aller au contenu
Outil gratuit

Outil de fractionnement SQL : fractionner et compresser un fichier SQL

Ton fichier SQL est trop volumineux pour être importé dans phpMyAdmin ? Le SQL Splitter le compresse au format .sql.gz ou le découpe entre les instructions complètes en parties de moins de 1,9 MB, par exemple community-db.sql de 98 KB en 20 KB au format .sql.gz. Gratuit, sans inscription ni envoi : ton fichier reste dans ton navigateur.

Créé par Justin Schuessler

Sur ton propre VPS, importe les dumps volumineux depuis la console, sans la limite d’envoi de phpMyAdmin.

Ton fichier reste dans ton navigateur : il n’est ni envoyé ni enregistré.

Exemple de résultat

Comment le SQL Splitter découpe un dump

L’outil vérifie d’abord si le fichier compressé respecte déjà ta limite. Sinon, il le découpe entre des instructions complètes et inclut l’en-tête du dump dans chaque partie. L’exemple utilise un petit mysqldump avec une taille cible de 40 KB pour obtenir plusieurs parties ; tes résultats dépendent de ton fichier.

Exemple · Entrée : community-db.sql, 98 KB, 56 instructions, 2 tables, un trigger, une procédure et une vue

Fichier SQL
98 KB
Au format .sql.gz
20 KB
4,9 fois plus petit
Parties de moins de 40 KB
3
Problèmes d’importation détectés
9
DEFINER, CREATE DATABASE/USE, collation MySQL 8
Parties dans l’ordre d’importation
community-db-part-001.sql     28 KB   17 Instructions  players, scorescommunity-db-part-002.sql     40 KB    3 Instructions  scorescommunity-db-part-003.sql     32 KB   18 Instructions  scores

Pourquoi cet outil

Un SQL Splitter dont les parties sont réellement importables

Beaucoup d’outils découpent les fichiers par ligne ou par mégaoctet et coupent ainsi des triggers, des procédures ou des enregistrements. Celui-ci lit le dump comme le client mysql.

Compresser d’abord, découper ensuite

Les dumps SQL contiennent beaucoup de texte répété et deviennent souvent bien plus petits au format .sql.gz ; phpMyAdmin les importe directement. L’outil calcule d’abord la taille compressée. Si elle est inférieure à ta limite, tu n’as pas besoin de découper le fichier.

Découpage uniquement entre des instructions complètes

Le parseur reconnaît les chaînes avec échappements, les commentaires --, # et /* */, les lignes /*!40101 … */ de mysqldump et les blocs DELIMITER. Un point-virgule dans une chaîne ou un bloc DELIMITER ne sépare pas les instructions.

Les gros INSERT sont découpés entre les lignes

Si un INSERT contenant de nombreuses lignes dépasse la taille d’une partie, il est réparti en plusieurs INSERT avec le même en-tête, toujours entre deux enregistrements. Si un seul enregistrement est trop volumineux, l’outil indique son numéro et sa table.

Chaque partie peut être importée séparément

Le jeu de caractères, le mode SQL, le fuseau horaire et la désactivation des clés étrangères définis dans l’en-tête du dump sont inclus dans chaque partie ; tout est rétabli à la fin. Les instructions USE et DELIMITER actives sont également conservées.

Corrections d’importation à cocher

DEFINER, CREATE DATABASE et USE, collations MySQL 8 et lignes de réplication : l’outil indique combien de fois ils apparaissent et ne modifie que ce que tu coches. Les corrections fonctionnent aussi sans découpage.

Fonctionne dans le navigateur, même avec des centaines de MB

Les dumps contiennent souvent des données clients. Le fichier est traité en streaming dans un Web Worker et ne quitte pas ton ordinateur. Tu peux suivre la progression ou annuler, sans bloquer l’onglet.

Comment ça fonctionne

Importer un gros fichier SQL en trois étapes

Du dump trop volumineux à la base de données prête à l’emploi, sans compte ni envoi de fichier.

Étape 1

Charger un fichier SQL

Glisse le fichier .sql, .sql.gz ou .zip dans la zone. L’outil le lit dans ton navigateur, compte les instructions et les tables, puis recherche les problèmes d’importation courants.

Étape 2

Compresser ou fractionner

Choisis la limite d’envoi : phpMyAdmin 2 MB, 8 MB ou une valeur personnalisée. Si le fichier .sql.gz respecte cette limite, tu peux le télécharger en un seul fichier. Sinon, l’outil le découpe en parties inférieures à la taille cible (au maximum 1,9 MB pour 2 MB), téléchargeables séparément ou en ZIP, avec des correctifs d’importation si tu le souhaites.

Étape 3

Importer dans phpMyAdmin

Sélectionne la base de données à gauche, ouvre l’onglet Importer, choisis le fichier et clique sur OK. Si tu as plusieurs parties, importe-les l’une après l’autre en commençant par la partie 1. Tu peux aussi copier une partie et la coller dans l’onglet SQL.

Messages d’erreur

Pourquoi l’importation échoue dans phpMyAdmin et comment y remédier

Les messages les plus fréquents lors de l’importation d’un fichier SQL et l’action à effectuer dans l’outil.

L’importation reste bloquée sur « Merci de patienter, le fichier est en cours de traitement. »

Cause : Le fichier dépasse la limite d’envoi de phpMyAdmin (2 MB chez nous, affichés sous « Taille maximale : 2.048 KiB »). phpMyAdmin 5.2 n’affiche alors souvent aucune erreur et l’indicateur de chargement tourne sans fin. Selon la configuration du serveur, le message « Aucune donnée à importer n’a été reçue » peut apparaître à la place.

Solution : Importer le fichier au format .sql.gz. S’il est encore trop volumineux, le découper et importer les parties l’une après l’autre.

« Il semble que la connexion au serveur ait été perdue » dans l’onglet SQL

Cause : Le texte collé est trop volumineux. Le navigateur l’envoie sous forme encodée : les espaces et les caractères spéciaux comptent alors triple, et les sauts de ligne sextuple. Ainsi, 1,9 MB de texte dépassent vite 2 MB.

Solution : Dans l’outil, choisis « Coller dans la console SQL » : même encodées, les parties respecteront alors la limite.

#1227 Access denied; you need (at least one of) the SUPER privilege(s)

Cause : Les vues, triggers ou procédures contiennent un DEFINER associé à un utilisateur de l’ancien serveur. Dans MariaDB, le privilège correspondant s’appelle SET USER ; pour SQL_LOG_BIN dans les dumps MySQL, c’est BINLOG ADMIN.

Solution : Coche la correction « Supprimer DEFINER » et, pour les dumps MySQL, « Supprimer les lignes de réplication ».

#1273 Unknown collation: 'utf8mb4_0900_ai_ci'

Cause : Le dump provient de MySQL 8. MariaDB ne prend pas en charge cette collation, même en version 11.6.

Solution : Coche la correction « Remplacer les collations MySQL 8 ».

#1193 Unknown system variable 'GTID_PURGED'

Cause : Le dump provient d’un serveur MySQL avec réplication GTID. Cette ligne n’existe que dans MySQL.

Solution : Coche la correction « Supprimer les lignes de réplication ».

#1044 Access denied for user … to database …

Cause : Le dump crée une base de données avec CREATE DATABASE ou utilise USE pour passer à une base à laquelle ton utilisateur n’a pas accès.

Solution : Coche la correction « Supprimer CREATE DATABASE et USE », puis sélectionne la bonne base de données à gauche.

#1452 Cannot add or update a child row: a foreign key constraint fails

Cause : Une partie insère des données dont les lignes associées n’arrivent que dans une partie ultérieure.

Solution : L’outil désactive la vérification des clés étrangères dans chaque partie. Importe quand même les parties dans l’ordre.

#1050 Table already exists ou #1062 Duplicate entry

Cause : Une partie a été importée deux fois, souvent après une interruption.

Solution : Ne recommence pas depuis le début : reprends à la partie dont l’importation a été interrompue. En cas de doute, vide la base de données et recommence.

La bonne méthode

Compresser, découper ou utiliser un autre outil ?

Le découpage n’est pas toujours la meilleure solution. Voici comment choisir en une minute.

Chemin 1

Compresser (.sql.gz)

La méthode la plus rapide si le fichier compressé respecte la limite : un fichier, une importation, aucune modification.

Chemin 2

Découper avec ce SQL Splitter

Si même le fichier .sql.gz est trop volumineux et que tu n’as que phpMyAdmin. Plusieurs envois sont nécessaires, mais aucun logiciel supplémentaire.

Chemin 3

HeidiSQL ou un autre client de base de données

Pour les très gros dumps ou les enregistrements individuels dépassant la limite. Le client se connecte directement à la base de données, sans limite d’envoi. Sous Windows : Fichier, Exécuter un fichier SQL.

Chemin 4

Client mysql dans la console

Si tu as un VPS ou un accès SSH : mysql -u benutzer -p datenbank < dump.sql permet d’importer sans la limite d’envoi de phpMyAdmin ; pour un fichier .gz, utilise zcat.

Découvrir plus

Autres outils

Comparer des textes en ligne (Diff Checker)

Compare en ligne deux textes, fichiers de configuration ou versions de code, repère les différences ligne par ligne et mot par mot, puis copie-les au format Unified Diff. Tout fonctionne dans ton navigateur.

Créé par Dimitri Heissler

Générateur de hash (MD5, SHA-1, SHA-256, SHA-512)

Nouveau

Génère des hash MD5, SHA-1, SHA-256 et SHA-512 à partir de texte ou d’un fichier, et compare les sommes de contrôle. Fonctionne entièrement dans le navigateur.

Créé par Luca Stanek

Générateur et vérificateur Bcrypt

Génère et vérifie des hashs Bcrypt entièrement dans ton navigateur, avec un facteur de coût réglable.

Créé par Rugile Rutkauskaite

Convertisseur JSON to CSV

Convertis JSON en CSV et CSV en JSON : aplatis les objets imbriqués, détecte les séparateurs, crée des fichiers CSV pour Excel avec BOM et prévisualise les fichiers JSON et CSV sous forme de tableau. Fonctionne entièrement dans ton navigateur.

Créé par Dimitri Heissler

Générateur .htaccess et générateur htpasswd

Crée des fichiers Apache .htaccess et .htpasswd en ligne : redirections 301, HTTPS, protection par mot de passe avec bcrypt, règles WordPress, pages d’erreur, mise en cache, GZIP et protection contre le hotlinking. Fonctionne entièrement dans le navigateur.

Créé par Dimitri Heissler

Formateur SQL en ligne (formater et embellir du SQL)

Formate, embellis et minifie du SQL en ligne pour MySQL, MariaDB et PostgreSQL, avec indentation et choix de la casse des mots-clés. Tout se fait dans le navigateur, sans transfert de données.

Créé par Luca Stanek

FAQ

Questions fréquentes

Réponses rapides sur les importations phpMyAdmin, les dumps SQL et ce SQL Splitter.

Soit un fichier .sql.gz directement importable par phpMyAdmin, soit plusieurs fichiers .sql respectant chacun ta limite. Ces derniers sont disponibles séparément et dans une archive ZIP, ainsi que, si tu le souhaites, au format .sql.gz et sous forme de texte à copier. Le fichier community-db.sql de 98 KB donne 20 KB au format .sql.gz ou 3 parties avec une taille cible de 40 KB, chacune contenant l’en-tête du dump et classée dans l’ordre d’importation. L’outil affiche aussi la taille, le nombre d’instructions et les tables de chaque partie.

phpMyAdmin reçoit les fichiers via PHP, qui limite la taille des envois (upload_max_filesize et post_max_size). Sur nos serveurs de bases de données, cette limite est de 2 MB ; phpMyAdmin l’affiche sous Importer : « Taille maximale : 2.048 KiB ». Le texte que tu colles dans l’onglet SQL est soumis à la même limite. C’est pourquoi l’outil propose le mode « Coller dans la console SQL » : il tient compte de la taille réellement envoyée par le navigateur et crée des parties plus petites en conséquence.

Souvent, oui. La limite s’applique au fichier envoyé, donc au fichier compressé, et les dumps SQL contiennent beaucoup de texte répétitif. phpMyAdmin décompresse lui-même les fichiers .sql.gz lors de l’importation. Le découpeur SQL calcule d’abord la taille du fichier .sql.gz, t’indique combien de fois il est plus petit et ne recommande de le découper que si le fichier compressé dépasse encore ta limite.

Charge le fichier .sql, .sql.gz ou .zip dans le SQL Splitter, par exemple un export de mysqldump, mariadb-dump, phpMyAdmin, HeidiSQL ou Adminer. Le découpage ne se fait qu’entre des instructions complètes : l’outil reconnaît les chaînes avec échappements, les commentaires, les lignes /*!…*/ et les blocs DELIMITER des triggers et des procédures. Un point-virgule à l’intérieur ne sépare pas les instructions. Si une instruction INSERT de plusieurs lignes dépasse la taille d’une partie, elle est divisée entre deux enregistrements en plusieurs instructions INSERT avec le même début. Si un seul enregistrement dépasse à lui seul la taille cible, généralement une image dans une colonne BLOB, l’outil indique le numéro de l’instruction, la ligne et la table. Importe cette partie avec HeidiSQL ou le client mysql, ou essaie de l’envoyer au format .sql.gz.

Importe les parties dans l’ordre de leurs numéros, en commençant par la partie 1, et toujours dans la même base de données. La partie 1 contient généralement les instructions CREATE TABLE ; les suivantes remplissent les tables. Si le dump contient des clés étrangères, chaque partie désactive leur vérification au début et la réactive à la fin. Si l’import d’une partie échoue, corrige l’erreur et reprends avec cette même partie. Ne réimporte pas les parties précédentes, sinon tu obtiendras « Table already exists » ou « Duplicate entry ». Si tu ne sais plus ce qui a déjà été importé, vide la base de données (dans phpMyAdmin, sélectionne et supprime toutes les tables dans l’onglet Structure), puis recommence à la partie 1.

Les vues, déclencheurs, procédures et événements indiquent l’utilisateur sous lequel ils s’exécutent (DEFINER). Si c’est un utilisateur de l’ancien serveur, comme root, ton utilisateur de base de données ne peut pas les créer. Coche « Supprimer DEFINER » dans l’outil : le serveur les créera avec ton utilisateur. MariaDB appelle le privilège manquant SET USER. Si le dump provient de MySQL, les lignes SQL_LOG_BIN (privilège BINLOG ADMIN) et GTID_PURGED peuvent aussi faire échouer l’importation ; utilise alors « Supprimer les lignes de réplication ».

utf8mb4_0900_ai_ci est la collation par défaut de MySQL 8. MariaDB ne la reconnaît pas, même en version 11.6, et interrompt CREATE TABLE avec l’erreur #1273. Le correctif « Remplacer les collations MySQL 8 » la remplace, ainsi que les autres variantes 0900, par utf8mb4_unicode_ci et les variantes sensibles à la casse par utf8mb4_bin. Il ne modifie pas les instructions INSERT ni tes données.

Non. Un dump contient souvent des données clients et des identifiants. L’outil lit donc le fichier uniquement dans ton navigateur, à l’aide d’un Web Worker. Aucun envoi, aucun stockage et aucun compte ne sont nécessaires. Dans l’onglet Réseau des outils de développement, tu peux vérifier qu’aucune requête contenant ton fichier n’est envoyée lors de la compression ou du fractionnement.

D’autres questions ?

Contacter le support
Des bases de données plus volumineuses ?

Ta base de données sans limite d’envoi sur ton propre VPS

Avec un VPS ZAP-Hosting, tu disposes d’un accès root, tu importes les dumps volumineux depuis la console et tu exploites MySQL, MariaDB ou PostgreSQL comme tu le souhaites.

4,4/5 Trustpilot32 000+ Serveurs actifsDepuis 2010

Sans configuration. Sans risque. En ligne en quelques secondes.

Durée flexibleRésiliable à tout momentEn ligne en 60 secondes

Tu cherches d’autres outils ? Voir tous les outils de développement