Export et import de base de données mysql sous linux

 
   azertyclub.com Index du Forum // Linux
Auteur Message
Tigrou
Administrateur


Inscrit le: 10 Juil 2006
Messages: 2015
Localisation: Pau

MessagePosté le: Ven Nov 23, 2007 5:33 pm    Sujet du message: Export et import de base de données mysql sous linux Répondre en citant
Bien sûr l'export et l'import d'une base de données peut être gérée via phpmyadmin. Mais lorsque la taille de la base est de 10Mb compressée comme celle du serveur principal du Cyber Azerty Club, et bien, phpmyadmin ne permet pas de faire ce type d'action: d'où ce tutoriel.

Exporter une base de données MySQL avec mysqldump

La commande mysql permet d'exporter l'intégralité d'une base de données hébergée par MySQL de façon efficace mais n'offre pas la souplesse nécessaire à l'exportation de plusieurs bases de données ou au contraire d'une partie de la base de données (table ou partie d'une table). La commande mysqldump répond à ce besoin en offrant la possibilité de spécifier plus précisément les données à exporter.

Voici la syntaxe de cette commande :
mysqldump [options] base_de_donnees [tables]
Voici les options généralement utilisées :
Code:
mysqldump -h host -u user -ppass -ofichier base_de_donnees [tables]
• host représente le nom ou l'adresse IP de la machine sur laquelle la base de données que vous désirez exporter est installée. Par défaut il s'agit de localhost, c'est-à-dire la machine à partir de laquelle la commande mysql est lancée
• user représente l'utilisateur avec lequel vous désirez vous connecter. Par défaut il s'agit de l'utilisateur root
• password représente le mot de passe de l'utilisateur avec lequel vous désirez vous connecter. Si vous n'indiquez pas de mot de passe, celui-ci sera demandé de manière interactive. Il ne doit pas y avoir d'espace entre -p et le mot de passe fourni
• base_de_donnees est le nom de la base de données à exporter.
• fichier est le nom du fichier dans lequel la base va être exportée. Si aucun chemin absolu n'est précisé, le fichier sera stocké dans le même répertoire que la commande mysql.

Voici un exemple d'exportation des tables membres et invites de la base nommée utilisateurs située sur la machine db.azertyclub.com et appartenant à l'utilisateur admin (dont le mot de passe est pass) :
Code:
mysqldump -h db.azertycmib.com -u admin -p pass -outilisateurs.sql utilisateurs membres invites


Il est possible d'affiner encore plus précisément les données à exporter en donnant une condition SQL grâce au commutateur -w (--where, ici "WHERE id > 4000") :
Code:
mysqldump -h db.azertyclub.com -u admin -p pass -outilisateurs.sql -w "id>4000" utilisateurs membres invites


La commande SQL située après le commutateur -w doit être délimitée par des guillemets (doubles ou simples).

Importer une base de données sous MySQL

La commande en ligne mysql permet également d'importer des données. Il suffit pour cela d'utiliser la redirection < et d'indiquer le fichier dump contenant les instructions SQL à importer :
Code:
mysql -h host -u user -ppass base_de_donnees < fichier_dump

La notation suivante est, une fois de plus, également possible :
Code:
mysql --host host --user user -passwordpass base_de_donnees < fichier_dump
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur MSN Messenger
   azertyclub.com Index du Forum // Linux

Répondre au sujet
Page 1 sur 1