il donne l'erreur "mysqldump: Erreur obtenue: 1049: Base de données inconnue 'thepassword' lors de la sélection de la base de données" mais a fonctionné lorsque je supprime "-p userpassword"
Ateş Danış
11
@ AteşDanış Il n'y a pas d'espace entre -pet thepassword.
Charles Wood
44
Vous devez simplement utiliser -pet vous serez ensuite invité à entrer le mot de passe. De cette façon, vous évitez d'enregistrer votre mot de passe, par exemple à.bash_history
nuala
7
Pour moi, cette commande fonctionne: mysqldump -u YourUser -p YourDatabaseName> wantedsqlfile.sql (Tapez la commande, appuyez sur Entrée, puis le mot de passe sera entré).
shasi kanth
3
La spécification d'un mot de passe sur la ligne de commande doit être considérée comme non sécurisée.
Je pense que vous avez manqué le fait qu'il utilise WAMP - Windows ... gunzip / gzip ne sont pas fournis avec Windows. Il pourrait être possible d'exécuter votre commande après avoir installé des éléments, mais je pense que vous avez manqué ce fait.
Rolf
2
La spécification gzip -9rend le fichier résultant un peu plus petit, car la compression maximale est utilisée.
AntonK
39
Tout d'abord, ouvrez l'invite de commande, puis ouvrez le répertoire bin dans cmd (j'espère que vous êtes au courant des commandes cmd ), accédez au répertoire bin de votre dossier MySql dans les fichiers du programme WAMP .
Pour ceux qui obtiennent une erreur comme "Accès refusé lors de l'utilisation de LOCK TABLES", vous devez ajouter le paramètre "--single-transaction" à la commande.
Skyrpex
J'ai eu une erreur mysqldump: [ERROR] unknown option '--database'mais son exclusion --databasea fonctionné.
hejdav
@Skyrpex Merci, c'était la solution que je cherchais.
Martijn
22
Accédez à l'invite de commande sur ce chemin,
C:\Program Files (x86)\MySQL\MySQL Server 5.0\bin>
Donnez ensuite cette commande pour exporter votre base de données ( pas d'espace après -p )
Encore une fois, W AMP => Windows. qui est une commande Linux. gunzip / gzip ne sont pas fournis avec Windows - et peuvent ne pas être disponibles. scp ... vous obtenez le point.
Rolf
La réponse d'Opentuned est excellente . Une petite chose supprime le réel passwordde la ligne de commande: mysqldump -u [username] -p [dbname]> filename.sql Cela empêche les gens de rechercher votre mot de passe dans votre historique.
Vincent
1
@Opentuned, c'est quoi le fétiche linux?
Pacerier
for -p [pasword] doit être proche, par exemple: mysqldump -u tutorials -p'mypassword' -h 127.0.0.1 database_name > file_backup_database_name_.sqlAttention: L'utilisation d'un mot de passe sur l'interface de ligne de commande peut être peu sûre.
Marwan Salim
19
Pour exporter également des PROCEDURES, des FONCTIONS et des TRIGGER, ajoutez un --routinesparamètre:
Le commutateur --routinesfait la différence :) Des conseils sur la façon d'exporter uniquement les PROCÉDURES, FONCTIONS et DÉCLENCHEURS? Pour ceux qui ont oublié le switch et exporté une DB "pure" sans les "algorithmes" :)
AntonK
BTW, le commutateur --eventsest nécessaire pour vider les événements du planificateur d'événements et les déclencheurs sont toujours exportés, sauf indication --skip-triggerscontraire (selon 7.4.5.3 Dumping Stored Programs )
AntonK
10
Donnez cette commande pour exporter votre base de données, cela inclura également la date
Notez que la spécification --databasesinsérera des instructions comme CREATE DATABASE XYZ;et USE XYZ;, ce qui n'est pas pratique lors de l'importation du SQL dans une autre base de données avec un autre nom ...
AntonK
8
J'ai installé mon serveur wamp dans D: drive donc vous devez aller dans le chemin suivant depuis la ligne de commande ur -> (et si vous avez installé ur wamp dans c: drive, remplacez simplement le d: wtih c: ici)
D:\>cd wamp
D:\wamp>cd bin
D:\wamp\bin>cd mysql
D:\wamp\bin\mysql>cd mysql5.5.8(whatever ur verserion will be displayed here use keyboard Tab button andselect the currently working mysql version on your server if you have more than one mysql versions)
D:\wamp\bin\mysql\mysql5.5.8>cd bin
D:\wamp\bin\mysql\mysql5.5.8\bin>mysqldump -u root -p password db_name >"d:\backupfile.sql"
ici root est l'utilisateur de mon mot de passe phpmyadmin
est le mot de passe de phpmyadmin donc si vous n'avez défini aucun mot de passe pour root rien de type à cet endroit,
db_name est la base de données (pour laquelle la base de données prend la sauvegarde), backupfile.sql est le fichier dans lequel vous voulez une sauvegarde de votre base de données et vous pouvez également changer l'emplacement du fichier de sauvegarde (d: \ backupfile.sql) de n'importe quel autre endroit sur votre ordinateur
De toutes les façons dont j'ai trouvé cela, cette réponse est la seule qui a fonctionné pour moi. J'utilise MySQL version 5.6, donc le chemin était ... \ MySQL \ MySQL Server 5.6 \ bin pour l'invite de commande. Vous devrez utiliser votre nom d'utilisateur et votre mot de passe d'administrateur MySQL, ceux spécifiés pour une base de données particulière ne fonctionneront pas. Merci Sachin. Même les instructions du manuel MySQL pour la v.5.6 ne fonctionnent pas. La syntaxe y est incomplète.
Max West
Cela fonctionne-t-il vraiment avec l'espace entre -pet password?
Le problème avec toutes ces solutions (en utilisant le >caractère redirecteur) est que vous écrivez votre vidage depuis stdout, ce qui peut casser le codage de certains caractères de votre base de données.
Si vous avez un problème d'encodage de caractères. Tel que :
ERREUR 1064 (42000): vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à la version de votre serveur MySQL pour la bonne syntaxe à utiliser près de ...
ensuite, vous DEVEZ utiliser l' -roption pour écrire le fichier.
MySQL
mysqldump -u user -pyour-password-without-space-between-letter-p-and-your-password --default-character-set=utf8 --host $HOST database-name -r dump.sql
Inversement, n'utilisez pas <pour importer votre vidage dans votre base de données, encore une fois, vos caractères non utf8 peuvent ne pas être passés; mais préférez l'option source.
mysql -u user -pYourPasswordYouNowKnowHow --default-character-set=utf8 your-database
mysql> SET names 'utf8'
mysql> SOURCE dump.sql
où d: \ wamp \ bin \ mysql \ mysql5.6.12 \ bin \ mysqldump.exe sera votre chemin mysqldump.exe réel, mydbname est le nom de la base de données que vous souhaitez exporter et d: \ mydb.sql est le chemin où vous souhaitez stocker la base de données exportée.
--mot de passe doit être utilisé si vous essayez également de taper le mot de passe
Erce
0
Pour Windows OS :
Lorsque vous obtenez l'erreur 1064 mysql (42000) lors de la tentative d'exécution de la commande mysqldump , quittez le terminal actuel. Et exécutez la commande mysqldump.
J'essayais de prendre le vidage de la base de données qui s'exécutait sur le docker et est venu avec la commande ci-dessous pour obtenir la même chose:
echo -e "Welcome to the import/export database utility\n"
echo -e "the default location of mysqldump file is: /opt/lampp/bin/mysqldump\n"
echo -e "the default location of mysql file is: /opt/lampp/bin/mysql\n"read-p 'Would like you like to change the default location [y/n]: ' location_change
read-p "Please enter your username: " u_name
read-p 'Would you like to import or export a database: [import/export]: ' action
echo
mysqldump_location=/opt/lampp/bin/mysqldump
mysql_location=/opt/lampp/bin/mysql
if["$action"=="export"];thenif["$location_change"=="y"];thenread-p 'Give the location of mysqldump that you want to use: ' mysqldump_location
echo
else
echo -e "Using default location of mysqldump\n"
fi
read-p 'Give the name of database in which you would like to export: ' db_name
read-p 'Give the complete path of the .sql file in which you would like to export the database: ' sql_file
$mysqldump_location -u $u_name -p $db_name >$sql_file
elif ["$action"=="import"];thenif["$location_change"=="y"];thenread-p 'Give the location of mysql that you want to use: ' mysql_location
echo
else
echo -e "Using default location of mysql\n"
fi
read-p 'Give the complete path of the .sql file you would like to import: ' sql_file
read-p 'Give the name of database in which to import this file: ' db_name
$mysql_location -u $u_name -p $db_name <$sql_file
else
echo "please select a valid command"
fi
Réponses:
Vérifiez d'abord si votre ligne de commande reconnaît la commande mysql. Sinon, allez à la commande et tapez:
Utilisez ensuite cette commande pour exporter votre base de données:
Vous serez ensuite invité à entrer le mot de passe de la base de données .
Cela exporte la base de données vers le chemin dans lequel vous vous trouvez actuellement, lors de l'exécution de cette commande
Remarque: voici quelques instructions détaillées concernant l'importation et l'exportation
la source
-p
etthepassword
.-p
et vous serez ensuite invité à entrer le mot de passe. De cette façon, vous évitez d'enregistrer votre mot de passe, par exemple à.bash_history
Utilisez simplement la commande suivante,
Pour l'export:
Pour l'importation:
Remarque: Il n'y a pas d'espace entre le mot-clé '-p' et votre mot de passe.
la source
gzip -9
rend le fichier résultant un peu plus petit, car la compression maximale est utilisée.Tout d'abord, ouvrez l'invite de commande, puis ouvrez le répertoire bin dans cmd (j'espère que vous êtes au courant des commandes cmd ), accédez au répertoire bin de votre dossier MySql dans les fichiers du programme WAMP .
exécuter la commande
appuyez sur enter le système exportera une base de données particulière et créera un fichier sql à l'emplacement donné.
j'espère que vous l'avez compris :) si vous avez des questions, faites-le moi savoir.
la source
Eh bien, vous pouvez utiliser la commande ci-dessous,
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 que celui où vous avez exécuté cette commande.
Vous pouvez trouver plus sur la référence officielle pour
mysqldump
: Import Export MySQL DBRemarque : utilisez
--databases
au lieu de--database
puisque le dernier n'est plus pris en charge.Prendre plaisir :)
la source
mysqldump: [ERROR] unknown option '--database'
mais son exclusion--database
a fonctionné.Accédez à l'invite de commande sur ce chemin,
C:\Program Files (x86)\MySQL\MySQL Server 5.0\bin>
Donnez ensuite cette commande pour exporter votre base de données ( pas d'espace après -p )
mysqldump -u[username] -p[userpassword] yourdatabase > [filepath]wantedsqlfile.sql
la source
Localisez votre instance mysql avec:
Si cela est correct, exportez avec ce qui suit (sinon accédez à l'instance mysql dans votre dossier mamp dans bin):
Et si vous souhaitez le zipper en même temps:
Vous pouvez ensuite déplacer ce fichier entre les serveurs avec:
(où xxx.xxx.xxx.xxx est l'adresse IP du serveur)
Et puis importez-le avec:
la source
password
de la ligne de commande: mysqldump -u [username] -p [dbname]> filename.sql Cela empêche les gens de rechercher votre mot de passe dans votre historique.mysqldump -u tutorials -p'mypassword' -h 127.0.0.1 database_name > file_backup_database_name_.sql
Attention: L'utilisation d'un mot de passe sur l'interface de ligne de commande peut être peu sûre.Pour exporter également des PROCEDURES, des FONCTIONS et des TRIGGER, ajoutez un
--routines
paramètre:mysqldump -u YourUser -p YourDatabaseName --routines > wantedsqlfile.sql
la source
--routines
fait la différence :) Des conseils sur la façon d'exporter uniquement les PROCÉDURES, FONCTIONS et DÉCLENCHEURS? Pour ceux qui ont oublié le switch et exporté une DB "pure" sans les "algorithmes" :)--events
est nécessaire pour vider les événements du planificateur d'événements et les déclencheurs sont toujours exportés, sauf indication--skip-triggers
contraire (selon 7.4.5.3 Dumping Stored Programs )Donnez cette commande pour exporter votre base de données, cela inclura également la date
(pas d'espace après -p)
la source
--databases
insérera des instructions commeCREATE DATABASE XYZ;
etUSE XYZ;
, ce qui n'est pas pratique lors de l'importation du SQL dans une autre base de données avec un autre nom ...J'ai installé mon serveur wamp dans D: drive donc vous devez aller dans le chemin suivant depuis la ligne de commande ur -> (et si vous avez installé ur wamp dans c: drive, remplacez simplement le d: wtih c: ici)
ici root est l'utilisateur de mon mot de passe phpmyadmin est le mot de passe de phpmyadmin donc si vous n'avez défini aucun mot de passe pour root rien de type à cet endroit, db_name est la base de données (pour laquelle la base de données prend la sauvegarde), backupfile.sql est le fichier dans lequel vous voulez une sauvegarde de votre base de données et vous pouvez également changer l'emplacement du fichier de sauvegarde (d: \ backupfile.sql) de n'importe quel autre endroit sur votre ordinateur
la source
-p
etpassword
?Exemple dans localhost
la source
Le problème avec toutes ces solutions (en utilisant le
>
caractère redirecteur) est que vous écrivez votre vidage depuis stdout, ce qui peut casser le codage de certains caractères de votre base de données.Si vous avez un problème d'encodage de caractères. Tel que :
ensuite, vous DEVEZ utiliser l'
-r
option pour écrire le fichier.MySQL
Utilisation de Docker
Remarque: cela monte le chemin actuel en tant que vidage à l'intérieur de l'instance.
Nous avons trouvé la réponse ici
Inversement, n'utilisez pas
<
pour importer votre vidage dans votre base de données, encore une fois, vos caractères non utf8 peuvent ne pas être passés; mais préférez l'option source.la source
Syntaxe
Exemple
où d: \ wamp \ bin \ mysql \ mysql5.6.12 \ bin \ mysqldump.exe sera votre chemin mysqldump.exe réel, mydbname est le nom de la base de données que vous souhaitez exporter et d: \ mydb.sql est le chemin où vous souhaitez stocker la base de données exportée.
la source
J'ai utilisé un serveur Wamp. J'ai essayé
root
est mon nom d'utilisateur pour mysql, et si vous avez un mot de passe, spécifiez-le avec:Esperons que ça marche.
la source
Pour Windows OS :
Lorsque vous obtenez l'erreur 1064 mysql (42000) lors de la tentative d'exécution de la commande mysqldump , quittez le terminal actuel. Et exécutez la commande mysqldump.
la source
J'essayais de prendre le vidage de la base de données qui s'exécutait sur le docker et est venu avec la commande ci-dessous pour obtenir la même chose:
docker exec
<container_id/name>
/ usr / bin / mysqldump -u<db_username>
--password =<db_password>
db_name
> .sqlJ'espère que cela t'aides!
la source
Vous pouvez utiliser ce script pour exporter ou importer n'importe quelle base de données à partir du terminal indiqué sur ce lien: https://github.com/Ridhwanluthra/mysql_import_export_script/blob/master/mysql_import_export_script.sh
la source