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?
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.
mysqldump est ce que vous recherchez.
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.
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
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.
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
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
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