web-dev-qa-db-fra.com

Télécharger le dump MySQL en ligne de commande

Je m'éloigne de Linode parce que je n'ai pas les compétences de sysadmin de Linux nécessaires; avant de terminer la transition vers un service plus convivial, je dois télécharger le contenu d’une base de données MySQL. Est-il possible de le faire depuis la ligne de commande?

266
Phillip Copley

Vous pouvez accomplir cela en utilisant la fonction de ligne de commande mysqldump .

Par exemple:

S'il s'agit d'un DB complet, alors:

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

Si ce sont toutes des bases de données, alors:

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

Si ce sont des tables spécifiques dans une base de données, 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 grosse):

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

Si vous voulez faire cela à distance et que vous avez accès au serveur en question, les opérations suivantes fonctionneront (si le serveur MySQL est sur le port 3306) ):

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

Il convient de déposer le fichier .sql dans le dossier à partir duquel vous exécutez la ligne de commande.

EDIT: Comme indiqué dans les commentaires, pour éviter l'inclusion de votre mot de passe dans l'historique de vos commandes, utilisez l'option -p sans le mot de passe. Il vous le demandera et ne l'enregistrera pas.

569
nickhar

mysqldump est ce que vous recherchez.

15
Faruk Sahin

Dans les dernières versions de mysql, du moins dans la mienne, vous ne pouvez pas mettre votre passe directement dans la commande.

Vous devez courir:

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

et ensuite il vous demandera le mot de passe.

10
Lorenzo Lerate

Sous Windows, vous devez spécifier le répertoire mysql où réside le fichier mysqldump.exe.

cd C:\xampp\mysql\bin

mysqldump -u[username] -p[password] --all-databases > C:\localhost.sql

enregistrez ceci dans un fichier texte tel que backup.cmd

4
drooh

Si vous téléchargez depuis un serveur distant, voici un exemple simple:

mysqldump -h my.address.amazonaws.com -u my_username -p db_name > /home/username/db_backup_name.sql

Le -p indique que vous allez entrer un mot de passe, cela ne concerne pas le nom_base. Après avoir entré la commande, vous serez invité à entrer le mot de passe. Tapez-le et appuyez sur Entrée.

4
Andrew

Allez dans le répertoire d'installation de MySQL et ouvrez cmd à partir de là. Ensuite, exécutez la commande ci-dessous pour obtenir une sauvegarde de votre base de données.

mysqldump -u root -p --add-drop-database --databases db> C:\db-dontdelete\db.sql
1
user8376416

Ouvrez l'invite de commande et tapez directement cette commande. N'entrez pas dans mysql et tapez cette commande.

mysqldump -u [uname] -p[pass] db_name > db_backup.sql
1
Nithin Raja

Il suffit de taper mysqldump ou mysqldump --help dans votre cmd affichera how to use

Voici mon cmd result

C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqldump
Usage: mysqldump [OPTIONS] database [tables]
OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help

Si vous utilisez MySQL autrement que par défaut:

mysqldump.exe -u username -p -P PORT_NO database > backup.sql
0
Anand Raj