Je m'éloigne de Linode car je n'ai pas les compétences d'administrateur système 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. Existe-t-il un moyen de le faire à partir de la ligne de commande?
mysql
command-line
command-line-arguments
linode
Phillip Copley
la source
la source
Réponses:
Vous pouvez accomplir cela en utilisant la fonction de ligne de commande mysqldump .
Par exemple:
S'il s'agit d'une base de données entière, alors:
Si ce sont toutes des bases de données, alors:
S'il s'agit de tables spécifiques dans une base de données, alors:
Vous pouvez même aller jusqu'à la compression automatique de la sortie à l'aide de gzip (si votre base de données est très grande):
Si vous voulez le faire à distance et que vous avez accès au serveur en question, alors ce qui suit fonctionnerait (en supposant que le serveur MySQL est sur le port 3306):
Il doit déposer le
.sql
fichier dans le dossier à partir duquel vous exécutez la ligne de commande.EDIT: mis à jour pour éviter l'inclusion de mots de passe dans les commandes CLI, utilisez l'
-p
option sans le mot de passe. Il vous le demandera et ne l'enregistrera pas.la source
wget
ouscp
sera nécessaire pour récupérer ledit fichier une fois construit.>
pour enregistrer, j'utilise plutôt-r
pour éviter les problèmes avec les caractères étrangers, ou ce cauchemar concernant les problèmes de codage, comme indiqué dans cet article .--result-file=db_backup.sql
place de> db_backup.sql
. Citation de la documentation MySQL : "UTF-16 n'est pas autorisé en tant que jeu de caractères de connexion (voir Jeux de caractères de client non autorisés ), donc le fichier de vidage ne se chargera pas correctement. Pour contourner ce problème, utilisez l'--result-file
option, qui crée la sortie dans Format ASCII ".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 exécuter:
mysqldump -u [uname] -p db_name > db_backup.sql
puis il vous demandera le mot de passe.
la source
-p
option et le mot de passe réel fait l'affaireSi vous téléchargez depuis un serveur distant, voici un exemple simple:
Le -p indique que vous entrerez un mot de passe, il ne se rapporte pas au nom_base. Après avoir entré la commande, vous serez invité à saisir le mot de passe. Tapez-le et appuyez sur Entrée.
la source
Sous Windows, vous devez spécifier le bac mysql où réside mysqldump.exe.
enregistrez-le dans un fichier texte tel que backup.cmd
la source
mysql
commandes de partout sans être dans son répertoire.Ouvrez l'invite de commande et tapez directement cette commande. N'entrez pas dans mysql et tapez cette commande.
la source
Accédez au répertoire d'installation de MySQL et ouvrez cmd à partir de là. Exécutez ensuite la commande ci-dessous pour obtenir une sauvegarde de votre base de données.
la source
Tapez simplement
mysqldump
oumysqldump --help
dans votre cmd s'afficherahow to use
Voici mon résultat cmd
la source
Si vous utilisez MySQL autre que le port par défaut:
la source
Pour ceux qui veulent taper un mot de passe dans la ligne de commande. Il est possible mais recommandez de le passer entre guillemets pour que le caractère spécial ne cause aucun problème.
la source
Utiliser ceci Si vous avez la base de données avec le nom archiedb, utilisez ceci mysql -p --databases archiedb> /home/database_backup.sql
En supposant que c'est Linux, choisissez où le fichier de sauvegarde sera enregistré.
la source
Pour les utilisateurs de Windows, vous pouvez aller dans votre dossier mysql pour exécuter la commande
par exemple
la source
Remarque: Cette étape ne survient qu'après avoir vidé votre fichier MySQL (que la plupart des réponses ci-dessus ont corrigé).
Il suppose que vous avez ledit fichier de vidage sur votre serveur distant et que vous souhaitez maintenant le faire descendre sur votre ordinateur local.
Pour télécharger le
.sql
fichier vidé de votre serveur distant vers votre ordinateur local, procédez comme suit:la source