English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In MySQL, you can useSELECT...INTO OUTFILEstatement to simply export data to a text file.
In the following example, we will export the data table w3Data export from codebox_tbl /tmp/w3The codebox.txt file contains:
mysql> SELECT * FROM w3codebox_tbl -> INTO OUTFILE '/tmp/w3codebox.txt';
You can set the specified format of data output through command options, the following example is to export CSV format:
mysql> SELECT * FROM passwd INTO OUTFILE '/tmp/w3codebox.txt' -> FIELDS TERMINATED BY ',' ENCLOSED BY '"' -> LINES TERMINATED BY '\r\n';
In the following example, a file is generated with values separated by commas. This format can be used by many programs.
SELECT a, b, a+b INTO OUTFILE '/tmp/result.text' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM test_table;
LOAD DATA INFILE is the opposite operation of SELECT ... INTO OUTFILE, SELECT syntax. To write a database's data to a file, use SELECT ... INTO OUTFILE, and to read the file back into the database, use LOAD DATA INFILE.
A SELECT...INTO OUTFILE in the form of 'file_name' can write the selected rows to a file. This file is created on the server host, so you must have FILE permissions to use this syntax.
The output cannot be an existing file. This prevents the file data from being tampered with.
You need to have an account to log in to the server to retrieve the file. Otherwise, SELECT ... INTO OUTFILE will not work.
In UNIX, the file is readable after it is created, and the permissions are owned by the MySQL server. This means that although you can read the file, you may not be able to delete it.
mysqldump ist ein Hilfsprogramm von mysql zur Sicherung von Datenbanken. Es erzeugt hauptsächlich einen SQL-Skript, der die Befehle CREATE TABLE, INSERT usw. enthält, die für das Neuschaffen der Datenbank erforderlich sind.
Um Daten mit mysqldump zu exportieren, muss --tab-Option, um das Zielverzeichnis der exportierten Datei anzugeben, das schreibbar sein muss.
Nachfolgender Beispiel exportiert die Datenbank w3codebox_tbl exportieren /Im Verzeichnis tmp:
$ mysqldump -u root -p --no-create-info \ --tab=/tmp w3codebox w3codebox_tbl password ******
Exportieren Sie Daten im SQL-Format in eine bestimmte Datei, wie folgt:
$ mysqldump -u root -p w3codebox w3codebox_tbl > dump.txt password ******
Der Inhalt der Datei, die durch den folgenden Befehl erstellt wird, ist wie folgt:
-- MySQL-Dump 8.23 -- -- Host: localhost Database: w3codebox --------------------------------------------------------- -- Serverversion 3.23.58 -- -- Tabellenstruktur für Tabelle `w3codebox_tbl` -- Erstellen TABLE w3codebox_tbl ( w3codebox_id int(11) NICHT NULL auto_increment, w3codebox_title varchar(100) NICHT NULL default '', w3codebox_author varchar(40) NICHT NULL default '', submission_date date default NULL, PRIMÄRSCHLÜSSEL (w3codebox_id), EINZIGER SCHLÜSSEL AUTHOR_INDEX (w3codebox_author) ) TYPE=MyISAM; -- -- Daten für Tabelle `w exportieren3codebox_tbl` -- Einfügen INTO w3codebox_tbl Werte (1Learn PHP2007-05-24'); Einfügen INTO w3codebox_tbl Werte (2Learn MySQL2007-05-24'); Einfügen INTO w3codebox_tbl Werte (3JAVA Tutorial2007-05-06');
Wenn Sie die Daten der gesamten Datenbank exportieren möchten, können Sie den folgenden Befehl verwenden:
$ mysqldump -u root -p w3codebox > database_dump.txt password ******
Wenn Sie alle Datenbanken sichern möchten, können Sie den folgenden Befehl verwenden:
$ mysqldump -u root -p --all-Datenbanken > database_dump.txt password ******
--all-Die Option databases wurde in MySQL hinzugefügt. 3.23.12 und späteren Versionen hinzugefügt.
Diese Methode kann zur Implementierung von Datenbank-Sicherungsstrategien verwendet werden.
Wenn Sie die Daten auf andere MySQL-Server kopieren müssen, können Sie den Namen der Datenbank und der Tabelle im Befehl mysqldump angeben.
Führen Sie die folgenden Befehle auf dem Quell-Host aus, um die Daten in die Datei dump.txt zu sichern:
$ mysqldump -u root -p database_name table_name > dump.txt password *****
Wenn Sie eine vollständige Datensicherung der Datenbank durchführen, müssen Sie keine bestimmten Tabellennamen verwenden.
Wenn Sie die gesicherte Datenbank in den MySQL-Server importieren müssen, können Sie die folgenden Befehle verwenden. Sie müssen bestätigen, dass die Datenbank bereits erstellt wurde:
$ mysql -u root -p database_name < dump.txt password *****
Sie können auch die folgenden Befehle verwenden, um die exportierten Daten direkt in den Remote-Server zu importieren, aber stellen Sie sicher, dass beide Server miteinander verbunden sind und sich gegenseitig erreichen können:
$ mysqldump -u root -p database_name \ | mysql -h other-host.com database_name
In den obigen Befehlen wurde das Pipe-Symbol verwendet, um die exportierten Daten in den angegebenen Remote-Host importiert zu werden.