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.
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.