SQL : Comment importer de grosses bases de données

Partager cet article

Temps estimé pour la lecture de cet article : 12 min

Hey !

Récemment, j’ai du pour un projet importer une grosse base de données SQL (merci Magento :3), dont la taille faisait plus de 16 Mo ! Malheureusement par défaut phpmyadmin ne propose pas d’importer des fichiers dont la taille excède 2 Mo. On va donc changer notre configuration afin d’autoriser l’upload de fichiers plus conséquent.

phpmyadmin - limitsize

Configuration du fichier php.ini

Php.ini est un fichier de configuration qui est lu par PHP lorsqu’il démarre. Il permet de renseigner les modules utilisés, mais également des options comme justement la taille d’import des fichiers ! Pour plus d’informations, il faut aller voir la documentation !

Pour éditer le fichiers, sous Windows, il suffit de cliquer sur l’icône de Wamp dans la barre des tâches, puis de choisir php > php.ini. Sous linux, il faut se rendre dans le dossier /etc/php/8.1/apache2.

cd /etc/php/8.1/apache2

Ensuite, on édite le fichier php.ini, avec notre éditeur préféré, du style :

sudo vim php.ini

Nous allons maintenant voir quelle variable, on va devoir éditer.

La première variable à modifier est post_max_size

Elle Définit la taille maximale des données reçues par la méthode POST. Cette option affecte également les fichiers chargés. Pour charger de gros fichiers, cette valeur doit être plus grande que la valeur de upload_max_filesize

Par défaut la valeur est de 8M, ce qui correspond à un fichier d’une taille de 8 Mo, on va donc augmenter cette taille personnellement, je mets environ 100 Mo, ce qui commence à faire déjà une sacrée base de données.

post_max_size = 100m

La seconde variable à modifier est upload_max_filesize

La taille maximale en octets d’un fichier à charger.

Ici, également je réserve environ 100 Mo, soit upload_max_filesize = 100M.

upload_max_filesize = 100m

Enfin, La dernière variable est memory_limit

Cette option détermine la mémoire limite, en octets, qu’un script est autorisé à allouer. Cela permet de prévenir l’utilisation de toute la mémoire par un script mal codé. Notez que pour n’avoir aucune limite, vous devez définir cette directive à -1.

Autrement dit, la consommation maximum de mémoire, en général je mets la moitié de mes ressources. J’ai 4 Go de ressources donc 2000 Mo.

memory_limit = 2000M

Redémarrer apache2 et c’est parti l’import de grosse base de données SQL

Sous Windows, enregistrez le fichier puis retournez sur le menu Wamp et enfin redémarrez tous vos services.

Sous linux, il suffit de faire :

sudo /etc/init.d/apache2 restart

phpmyadmin - resultat

C’est bon ! Vous pouvez allez pouvoir importer vos base de donénes !

2 comments

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.