Ich habe eine Datenbank, die ziemlich groß ist, daher möchte ich sie mithilfe der Eingabeaufforderung exportieren, weiß aber nicht, wie.
Ich benutze WAMP.
Ich habe eine Datenbank, die ziemlich groß ist, daher möchte ich sie mithilfe der Eingabeaufforderung exportieren, weiß aber nicht, wie.
Ich benutze WAMP.
Antworten:
Überprüfen Sie zunächst, ob Ihre Befehlszeile den Befehl mysql erkennt. Wenn nicht, gehen Sie zu Befehl und geben Sie Folgendes ein:
set path=c:\wamp\bin\mysql\mysql5.1.36\bin
Verwenden Sie dann diesen Befehl, um Ihre Datenbank zu exportieren:
mysqldump -u YourUser -p YourDatabaseName > wantedsqlfile.sql
Sie werden dann zur Eingabe des Datenbankkennworts aufgefordert .
Dadurch wird die Datenbank in den Pfad exportiert, in dem Sie sich gerade befinden, während Sie diesen Befehl ausführen
Hinweis: Hier finden Sie einige detaillierte Anweisungen zum Import und Export
-p
und thepassword
.
-p
und werden dann zur Eingabe des Passworts aufgefordert. Auf diese Weise können Sie Ihr Passwort vermeiden, gespeichert zB in.bash_history
Verwenden Sie einfach den folgenden Befehl:
Für den Export:
mysqldump -u [user] -p [db_name] | gzip > [filename_to_compress.sql.gz]
Für den Import:
gunzip < [compressed_filename.sql.gz] | mysql -u [user] -p[password] [databasename]
Hinweis: Zwischen dem Schlüsselwort '-p' und Ihrem Passwort ist kein Leerzeichen.
gzip -9
wird die resultierende Datei etwas kleiner, da die maximale Komprimierung verwendet wird.
Zunächst einmal offen Eingabeaufforderung öffnen Sie dann bin Verzeichnis in cmd (ich hoffe , Sie sind uns bewusst mit cmd gehen Befehle) zu bin - Verzeichnis Ihrer MySql Ordner in WAMP Programmdateien.
Führen Sie den Befehl aus
mysqldump -u db_username -p database_name > path_where_to_save_sql_file
Drücken Sie die Eingabetaste. Das System exportiert eine bestimmte Datenbank und erstellt eine SQL-Datei an dem angegebenen Speicherort.
Ich hoffe du hast es :) Wenn du irgendwelche Fragen hast, lass es mich wissen.
Nun, Sie können den folgenden Befehl verwenden:
mysqldump --databases --user=root --password your_db_name > export_into_db.sql
Die generierte Datei ist in demselben Verzeichnis verfügbar, in dem Sie diesen Befehl ausgeführt haben.
Weitere Informationen finden Sie in der offiziellen Referenz für mysqldump
: Import Export MySQL DB
Hinweis : Verwenden Sie --databases
anstelle von, --database
da der letzte nicht mehr unterstützt wird.
Genießen :)
mysqldump: [ERROR] unknown option '--database'
aber der Ausschluss --database
hat funktioniert.
Gehen Sie zur Eingabeaufforderung unter diesem Pfad.
C:\Program Files (x86)\MySQL\MySQL Server 5.0\bin>
Geben Sie dann diesen Befehl ein, um Ihre Datenbank zu exportieren ( kein Leerzeichen nach -p ).
mysqldump -u[username] -p[userpassword] yourdatabase > [filepath]wantedsqlfile.sql
Suchen Sie Ihre MySQL-Instanz mit:
which mysql
Wenn dies korrekt ist, exportieren Sie Folgendes: Andernfalls navigieren Sie zur MySQL-Instanz in Ihrem Mamp-Ordner in bin):
mysqldump -u [username] -p [password] [dbname] > filename.sql
Und wenn Sie es gleichzeitig komprimieren möchten:
mysqldump -u [username] -p [password] [db] | gzip > filename.sql.gz
Sie können diese Datei dann zwischen Servern verschieben mit:
scp user@xxx.xxx.xxx.xxx:/path_to_your_dump/filename.sql.gz your_detination_path/
(wobei xxx.xxx.xxx.xxx die Server-IP-Adresse ist)
Und dann importieren Sie mit:
gunzip filename.sql.gz | mysql -u [user] -p [password] [database]
password
von der Befehlszeile: mysqldump -u [Benutzername] -p [Datenbankname]> Dateiname.sql Dies verhindert, dass Personen Ihren Verlauf nach dem Kennwort durchsuchen.
mysqldump -u tutorials -p'mypassword' -h 127.0.0.1 database_name > file_backup_database_name_.sql
Warnung: Die Verwendung eines Kennworts auf der Befehlszeilenschnittstelle kann unsicher sein.
Fügen Sie zum Exportieren von PROCEDUREs, FUNCTIONs & TRIGGERs den folgenden --routines
Parameter hinzu:
mysqldump -u YourUser -p YourDatabaseName --routines > wantedsqlfile.sql
--routines
macht den Unterschied :) Gibt es Hinweise, wie nur VERFAHREN, FUNKTIONEN & TRIGGER exportiert werden können? Für diejenigen, die den Schalter vergessen und "reine" DB ohne die "Algorithmen" exportiert haben :)
--events
benötigt, um Event Scheduler-Ereignisse zu sichern, und die TRIGGERs werden immer exportiert, sofern --skip-triggers
nicht anders angegeben (gemäß 7.4.5.3 Speichern gespeicherter Programme )
Geben Sie diesen Befehl ein, um Ihre Datenbank zu exportieren. Dies schließt auch das Datum ein
mysqldump -u[username] -p[userpassword] --databases yourdatabase | gzip > /home/pi/database_backup/database_`date '+%m-%d-%Y'`.sql.gz
(kein Leerzeichen nach -p)
--databases
Anweisungen als CREATE DATABASE XYZ;
und USE XYZ;
Ich habe meinen Wamp-Server in D: Laufwerk installiert, daher müssen Sie von Ihrer Befehlszeile aus auf den folgenden Pfad gehen -> (und wenn Sie Ihren Wamp in Laufwerk c: installiert haben, ersetzen Sie einfach das d: wtih c: hier)
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 and select 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"
Hier ist root der Benutzer meines phpmyadmin- Passworts. Das Passwort ist das Passwort für phpmyadmin. Wenn Sie also kein Passwort für root festgelegt haben, geben Sie an dieser Stelle nur nichts ein. Datenbankname ist die Datenbank (für die die Datenbank erstellt wird), backupfile.sql ist die Datei, in der Sie Ihre Datenbank sichern möchten, und Sie können auch den Speicherort der Sicherungsdatei (d: \ backupfile.sql) von einem anderen Ort auf Ihrem Computer ändern
-p
und password
?
mysqldump -h [host] -p -u [user] [database name] > filename.sql
Beispiel in localhost
mysqldump -h localhost -p -u root cookbook > cookbook.sql
Das Problem mit all diesen Lösungen (mit dem >
Redirector-Zeichens) besteht darin, dass Sie Ihren Speicherauszug aus stdout schreiben, wodurch die Codierung einiger Zeichen Ihrer Datenbank möglicherweise unterbrochen wird.
Wenn Sie ein Problem mit der Zeichenkodierung haben. Sowie :
FEHLER 1064 (42000): In Ihrer SQL-Syntax ist ein Fehler aufgetreten. Überprüfen Sie das Handbuch, das Ihrer MySQL-Serverversion entspricht, auf die richtige Syntax für ...
dann, Sie MÜSSEN verwenden-r
Option verwenden, um die Datei zu schreiben.
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
Docker verwenden
docker exec --rm -v $pwd:dump -it mysql:5:7 mysqldump -u user -pyour-password-without-space-between-letter-p-and-your-password --default-character-set=utf8 --host $HOST database-name -r dump/dump.sql
Hinweis: Dadurch wird der aktuelle Pfad als Speicherauszug in der Instanz bereitgestellt.
Wir haben die Antwort gefunden hier gefunden
Umgekehrt verwenden Sie nicht <
, um Ihren Speicherauszug in Ihre Datenbank zu importieren. Auch hier werden Ihre Nicht-utf8-Zeichen möglicherweise nicht übergeben. aber lieber Quelloption.
mysql -u user -pYourPasswordYouNowKnowHow --default-character-set=utf8 your-database
mysql> SET names 'utf8'
mysql> SOURCE dump.sql
(mysqldump.exe full path) -u (user name) -p (password) (database name) > (export database file full path)
c:>d:\wamp\bin\mysql\mysql5.6.12\bin\mysqldump.exe -u root -p mydbname > d:\mydb.sql
Dabei ist d: \ wamp \ bin \ mysql \ mysql5.6.12 \ bin \ mysqldump.exe Ihr tatsächlicher Pfad für mysqldump.exe, mydbname der Name der Datenbank, die Sie exportieren möchten, und d: \ mydb.sql der Pfad, in den Sie möchten die exportierte Datenbank speichern.
Ich habe Wamp Server verwendet. ich probierte an
c:\wamp\bin\mysql\mysql5.5.8\bin\mysqldump -uroot -p db_name > c:\somefolder\filename.sql
root
ist mein Benutzername für MySQL, und wenn Sie ein Passwort haben, geben Sie es an mit:
-p[yourpassword]
Hoffe, es funktioniert.
Für Windows-Betriebssysteme :
Wenn beim Versuch, den Befehl mysqldump auszuführen , der Fehler 1064 mysql (42000) angezeigt wird , beenden Sie das aktuelle Terminal. Und führen Sie den Befehl mysqldump aus.
mysql>exit
c:\xampp\mysql\bin>mysqldump -uroot -p --databases [database_name] > name_for_export_db.sql
Ich habe versucht, den Speicherauszug der Datenbank zu übernehmen, die auf dem Docker ausgeführt wurde, und habe den folgenden Befehl gefunden, um dasselbe zu erreichen:
Docker exec <container_id/name>
/ usr / bin / mysqldump -u <db_username>
--password = <db_password>
db_name
> .sql
Hoffe das hilft!
Sie können dieses Skript verwenden, um eine Datenbank von einem Terminal zu exportieren oder zu importieren, das unter diesem Link angegeben wird: https://github.com/Ridhwanluthra/mysql_import_export_script/blob/master/mysql_import_export_script.sh
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" ]; then
if [ "$location_change" == "y" ]; then
read -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" ]; then
if [ "$location_change" == "y" ]; then
read -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