Importer un (gros) fichier SQL sous MySQL

MySQL est une très bonne ressource permettant de traiter facilement un gros volume de données. L’interface PhpMyAdmin est très utile pour faciliter la lecture de ces données. Toutefois, l’importer d’un fichier de données à travers PhpMyAdmin est limité. Pour importer un gros flux d’information, une grosse table ou encore pour restaurer une sauvegarde qui peut aller de quelques mega-octets à plusieurs giga-octets, il est pratique d’utiliser des lignes de commande et ce sera l’objectif de cet article.

Logo MySQL

Logo MySQL

Prérequis

Ce petit tutoriel nécessite de connaître un minimum l’utilisation des lignes de commandes. Par ailleurs pensez à faire une sauvegarde (backup) de votre base de données avant de faire quelque chose que vous pourriez regretter.

Envoyer le fichier dans MySQL en une seule ligne

Plutôt que de long discours voici dès à présent la commande qui permet à la fois de se connecter à MySQL en ligne de commande et par la même occasion d’envoyer le fichier dans la base de données :

mysql -h localhost -p -u <utilisateur_mysql> <nom_base_de_donnees> < gros_fichier.sql

Explications :

  • mysql : l’outil en ligne de commande pour accéder à MySQL.
  • -h localhost : connexion au serveur MySQL sur le “host” indiqué. Dans une grand majorité des cas il suffit de laisser “localhost”.
  • -p : permet de définir le mot de passe. Si cette option est laissée vide, la commande demandera le mot de passe une fois que vous cliquerez sur la touche “entrer”.
  • -u <utilisateur_mysql> : le terme entre crochet est bien entendu a remplacer par votre nom d’utilisateur dans MySQL (cf. le même nom d’utilisateur utilisé pour se connecter à PhpMyAdmin).
  • <nom_base_de_donnees> : à remplacer par le nom de la base de données dans lequel le fichier SQL sera importé (cf. voir le nom de la base qui vous intéresse dans le menu gauche de PhpMyAdmin).
  • gros_fichier.sql : le fichier doit bien entendu être disponible sur le serveur qui contient le Système de Gestion de Base de Données (SGBD) MySQL. Il faut indiquer l’emplacement du fichier concerné (exemple fictif : /home/user/mysql/mon_fichier.sql ).

Rien de plus à ajouter pour l’import d’un fichier .sql. Attention toute de même, si cela ne fonctionne pas, il faut vérifier dans MySQL que la variable « max_allowed_packet » soit suffisamment grand pour autoriser l’ajout d’un fichier assez lourd (à adapter selon vos besoins si nécessaire).

Vérifier

Pensez à vérifier que l’import s’est bien déroulé avant de crier victoire, on ne sait jamais ce qui a pu se dérouler.

Ce contenu a été publié dans Astuces.

A propos de l'auteur : Tony Archambeau

Fort de plusieurs années d'expérience dans le développement web, Tony partage ses connaissances sur des projets divers dont le site infowebmaster.fr. Il est possible de le suivre sur Twitter.
Partager

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

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