354 votes

Comment exporter et importer un fichier .sql en ligne de commande avec des options ?

Pas de doublon ! Recherche d'une fonctionnalité pour phpmyadmin lors de l'exportation en ligne de commande.

Je veux exporter et importer un fichier .sql vers et depuis une base de données MySQL à partir d'un ordinateur. ligne de commande .

Existe-t-il une commande pour exporter un fichier .sql dans MySQL ? Ensuite, comment puis-je l'importer ?

Lors de l'exportation/importation, il peut y avoir contraintes comme activer/désactiver vérification des clés étrangères ou structure de la table d'exportation uniquement .

Pouvons-nous mettre ces options avec mysqldump ?

quelques exemples d'options

enter image description here

4 votes

mysqldump est une commande distincte. Vous ne devriez pas être dans mysql lors de son exécution. Il suffit de l'écrire devant l'invite de commande. Et le point-virgule sert à indiquer à l'invite mysql que la commande est terminée. Comme vous exécutez mysqldump en tant que programme sur le terminal, vous ne devez pas le terminer par un point-virgule.

0 votes

Merci à Ozair et à tous les autres. Y a-t-il un moyen de définir des attributs tels que la clé étrangère, la structure uniquement, les données uniquement ?

0 votes

192voto

Pour exporter

Si c'est une BD entière, alors :

$ mysqldump -u [uname] -p[pass] db_name > db_backup.sql

Si c'est tous les DB, alors :

$ mysqldump -u [uname] -p[pass] --all-databases > all_db_backup.sql

S'il s'agit de tables spécifiques dans une BD, alors.. :

$ mysqldump -u [uname] -p[pass] db_name table1 table2 > table_backup.sql

Vous pouvez même aller jusqu'à compresser automatiquement la sortie en utilisant gzip (si votre base de données est très grande) :

$ mysqldump -u [uname] -p[pass] db_name | gzip > db_backup.sql.gz

Si vous souhaitez effectuer cette opération à distance et que vous avez accès au serveur en question, la procédure suivante fonctionnera (en supposant que le serveur MySQL soit sur le port 3306) :

$ mysqldump -P 3306 -h [ip_address] -u [uname] -p[pass] db_name > db_backup.sql

Pour importer

Tapez la commande suivante pour importer le fichier de données sql :

$ mysql -u username -p -h localhost DATA-BASE-NAME < data.sql

Dans cet exemple, importez le fichier 'data.sql' dans la base de données 'blog' en utilisant vivek comme nom d'utilisateur :

$ mysql -u sat -p -h localhost blog < data.sql

Si vous disposez d'un serveur de base de données dédié, remplacez le nom d'hôte localhost par le nom du serveur réel ou l'adresse IP comme suit :

$ mysql -u username -p -h 202.54.1.10 databasename < data.sql

OU utiliser un nom d'hôte tel que mysql.cyberciti.biz

$ mysql -u username -p -h mysql.cyberciti.biz database-name < data.sql

Si vous ne connaissez pas le nom de la base de données ou si le nom de la base de données est inclus dans le dump sql, vous pouvez essayer quelque chose comme suit :

$ mysql -u username -p -h 202.54.1.10 < data.sql

Référez-vous : http://dev.mysql.com/doc/refman/5.6/en/mysqldump.html

Si vous voulez un outil GUI, vous pouvez probablement utiliser SQLyog ou navicat pour cela.

169voto

Frankline Points 8947

Tapez la commande suivante pour importer le fichier de données sql :

$ mysql -u username -p -h localhost DATA-BASE-NAME < data.sql

Dans cet exemple, importez le fichier 'data.sql' dans la base de données 'blog' en utilisant vivek comme nom d'utilisateur :

$ mysql -u vivek -p -h localhost blog < data.sql

Si vous disposez d'un serveur de base de données dédié, remplacez le nom d'hôte localhost par le nom du serveur réel ou l'adresse IP comme suit :

$ mysql -u username -p -h 202.54.1.10 databasename < data.sql

Pour exporter une base de données, procédez comme suit :

mysqldump -u username -p databasename > filename.sql

Notez le < et > dans chaque cas.

1 votes

Lorsque vous exportez en utilisant mysqldump comment ajouter le port ?

42voto

Koveras Points 1169

Si vous exécutez déjà le shell SQL, vous pouvez utiliser la commande source pour importer des données :

use databasename;
source data.sql;

0 votes

La meilleure option pour importer des données vidées. Si vous avez exporté des données en utilisant mysqldump, cette option d'importation fonctionnera en quelques secondes.

0 votes

La manière la plus simple d'importer. merci

30voto

Umesh Patil Points 21

Vous pouvez utiliser la commande ci-dessous pour exporter,

mysqldump --databases --user=Root --password your_db_name > export_into_db.sql

et le fichier généré sera disponible dans le même répertoire où vous aviez exécuté cette commande.

Maintenant, connectez-vous à mysql en utilisant la commande,

mysql -u [nom d'utilisateur] -p

puis utilisez la commande "source" avec le chemin du fichier.

30voto

Hariboo Points 1

Mysqldump ne videra pas les événements, les déclencheurs et les routines des bases de données, sauf si cela est explicitement indiqué lors du vidage de bases de données individuelles ;

mysqldump -uuser -p db_name --events --triggers --routines > db_name.sql

0 votes

Cela inclut-il les indicateurs ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X