esportazione di dati di MySQL
MySQL è possibile utilizzare SELECT ... INTO OUTFILE per esportare i dati in un file di testo semplice.
Utilizzare SELECT ... INTO OUTFILE ai dati di esportazione
Gli esempi che seguono, ci saranno esportare i dati in una tabella di dati del file w3big_tbl /tmp/tutorials.txt:
mysql> SELECT * FROM w3big_tbl -> INTO OUTFILE '/tmp/tutorials.txt';
È possibile impostare il formato dei dati di output specificato dalle opzioni di comando, i seguenti esempi sono esportati in formato CSV:
mysql> SELECT * FROM passwd INTO OUTFILE '/tmp/tutorials.txt' -> FIELDS TERMINATED BY ',' ENCLOSED BY '"' -> LINES TERMINATED BY '\r\n';
Nel seguente esempio, un file viene generato, i valori separati da virgole. Questo formato viene utilizzato da diversi programmi.
SELECT a,b,a+b INTO OUTFILE '/tmp/result.text' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM test_table;
SELECT ... INTO OUTFILE ha le seguenti proprietà:
- LOAD DATA INFILE SELECT ... INTO OUTFILE è l'operazione inversa, la sintassi SELECT. Per scrivere i dati ad un database in un file, utilizzare SELECT ... INTO OUTFILE, per leggere il file nel database, uso LOAD DATA INFILE.
- SELECT ... INTO 'nome_file' OUTFILE forma di linee SELECT è possibile selezionare un file di scrittura. Il file viene creato sul server host, quindi è necessario avere il privilegio FILE per usare questa sintassi.
- L'uscita non è un file già esistente. File evitare che i dati vengano manomessi.
- È necessario disporre di un server di account di accesso per recuperare il file. Altrimenti SELECT ... INTO OUTFILE non giocherà alcun ruolo.
- In UNIX, dopo aver creato il file è leggibile privilegi di proprietà di server MySQL. Ciò significa che, anche se è possibile leggere il file, ma non possono essere cancellati.
esportare i dati della tabella originale
mysqldump MySQL è utilizzato per trasformare il database di utilità viene memorizzato. Essa produce principalmente uno script SQL che contiene il comando per ricreare il database da zero necessario CREATE TABLE INSERT e così via.
Utilizzare mysqldump per esportare i dati richiede l'opzione --tab per specificare la directory specificata nel file di esportazione, l'oggetto deve essere scritto.Il seguente esempio esportare la w3big_tbl tabella di dati nella directory / tmp:
$ mysqldump -u root -p --no-create-info \ --tab=/tmp w3big w3big_tbl password ******
Esportazione dei dati in formato SQL
Esportazione SQL dati nel formato di file specificato, come segue:
$ mysqldump -u root -p w3big w3big_tbl > dump.txt password ******
file di contenuto creati dal comando precedente come segue:
-- MySQL dump 8.23 -- -- Host: localhost Database: w3big --------------------------------------------------------- -- Server version 3.23.58 -- -- Table structure for table `w3big_tbl` -- CREATE TABLE w3big_tbl ( w3big_id int(11) NOT NULL auto_increment, w3big_title varchar(100) NOT NULL default '', w3big_author varchar(40) NOT NULL default '', submission_date date default NULL, PRIMARY KEY (w3big_id), UNIQUE KEY AUTHOR_INDEX (w3big_author) ) TYPE=MyISAM; -- -- Dumping data for table `w3big_tbl` -- INSERT INTO w3big_tbl VALUES (1,'Learn PHP','John Poul','2007-05-24'); INSERT INTO w3big_tbl VALUES (2,'Learn MySQL','Abdul S','2007-05-24'); INSERT INTO w3big_tbl VALUES (3,'JAVA Tutorial','Sanjay','2007-05-06');
Se avete bisogno di esportare i dati per l'intero database, è possibile utilizzare il seguente comando:
$ mysqldump -u root -p w3big > database_dump.txt password ******
Se è necessario eseguire il backup di tutti i database, è possibile utilizzare il seguente comando:
$ mysqldump -u root -p --all-databases > database_dump.txt password ******
--all-databases opzione è stata aggiunta in MySQL 3.23.12 o successiva.
Questo metodo può essere utilizzato per attuare la strategia di backup del database.
La scheda tecnica e la copia del database a un altro host
Se è necessario copiare i dati ad altri server MySQL, è possibile specificare il nome delle tabelle del database e dei dati nel comando mysqldump.
Eseguire il seguente comando sull'host di origine, il backup dei dati in un file dump.txt:
$ mysqldump -u root -p database_name table_name > dump.txt password *****
Se il backup completo del database, non è necessario utilizzare un nome tabella specifica.
Se è necessario eseguire il backup del database in MySQL server, è possibile utilizzare il seguente comando, utilizzare il seguente comando è necessario assicurarsi che il database è stato creato:
$ mysql -u root -p database_name < dump.txt password *****
你也可以使用以下命令将导出的数据直接导入到远程的服务器上,但请确保两台服务器是相通的,是可以相互访问的:</p> $ mysqldump -u root -p database_name \ | mysql -h other-host.com database_name
Il comando precedente viene utilizzato in pipeline per esportare i dati all'host remoto specificato.