Hogyan lehet adatfájlokat exportálni a Linux MySQL adatbázisból?export csv utasítás parancsot

Linux MySQL adatbázisHogyan lehet adatfájlokat exportálni?export csv utasítás parancsot

MySQLadatok exportálása

A MySQL-ben használhatodKIVÁLASZTÁS … AZ OUTFILE-BEutasítással egyszerűen exportálhatja az adatokat egy szöveges fájlba.


Exportálja az adatokat a SELECT ... INTO OUTFILE utasítással

A következő példában az adattáblázatot a /tmp/tutorials.txt fájlba exportáljuk:

mysql > SELECT * FROM chenweiliang_tbl 
     - > INTO OUTFILE '/tmp/tutorials.txt' ;

Az adatkimenet megadott formátumát a parancsopciók segítségével állíthatja be. A következő példa a CSV formátum exportálására szolgál:

mysql > SELECT * FROM passwd INTO OUTFILE '/tmp/tutorials.csv' - > FIELDS TERMINATED BY ',' ENCLOSED BY ''' - > LINES TERMINATED BY '\ r \ n' ;
    
    

A következő példában egy fájl jön létre vesszővel elválasztott értékekkel.Ezt a formátumot számos program használhatja.

SELECT a b a + b INTO OUTFILE '/tmp/result.text'FIELDS 
TERMINATED BY ',' OPTIONALLY ENCLOSED BY '''行
终止'\ 
n'FROM test_table ;

A SELECT ... INTO OUTFILE utasítás a következő attribútumokkal rendelkezik:

  • A LOAD DATA INFILE a SELECT ... INTO OUTFILE, SELECT szintaxis inverz művelete.Adatok adatbázisból fájlba írásához használja a SELECT ... INTO OUTFILE parancsot, a fájl visszaolvasásához pedig a LOAD DATA INFILE parancsot.
  • SELECT ... INTO OUTFILE A SELECT formátumú 'file_name' képes fájlba írni a kijelölt sorokat.A fájl a szerver gazdagépén jön létre, ezért a szintaxis használatához FILE engedéllyel kell rendelkeznie.
  • A kimenet nem lehet létező fájl.Megakadályozza a fájladatok megváltoztatását.
  • Szüksége van egy fiókra, hogy bejelentkezzen a szerverre a fájlok letöltéséhez?Ellenkező esetben a SELECT ... INTO OUTFILE opciónak nincs hatása.
  • A UNIX rendszerben a fájl olvashatónak készül, és az engedélyek a MySQL szerver tulajdonában vannak.Ez azt jelenti, hogy bár el tudja olvasni a fájlt, előfordulhat, hogy nem tudja törölni.

Táblázat exportálása nyers adatként

Főleg egy SQL-szkriptet állít elő, amely tartalmazza a CREATE TABLE INSERT stb. parancsokat, amelyek az adatbázis újbóli létrehozásához szükségesek.

Az adatok mysqldump használatával történő exportálásához a –tab kapcsolóval kell megadni az exportfájl által megadott könyvtárat, és a célnak írhatónak kell lennie.

A következő példa a chenweiliang_tbl adattáblát a /tmp könyvtárba exportálja:

$ mysqldump - u root - p - no - create - info
             - tab = / tmp chenweiliang chenweiliang_tbl
密码******

Adatok exportálása SQL formátumban

Exportálja az adatokat SQL formátumban a megadott fájlba, az alábbiak szerint:

$ mysqldump - u root - p chenweiliang chenweiliang_tbl > dump 文本 
密码******

A fenti paranccsal létrehozott fájl tartalma a következő:

- MySQL 转储8.23 - - 主机localhost     数据库chenweiliang
 ----------------------------------- ---------------------- - 服务器版本        3.23 58   

 
 

- - 结构`chenweiliang_tbl` -
 


CREATE TABLE chenweiliang_tbl 
  chenweiliang_id INT 11 NOT NULL的auto_increment 
  chenweiliang_title VARCHAR 100 NOT NULL 默认'' 
  chenweiliang_author VARCHAR 40 NOT NULL 默认'' 
  submission_date日期默认NULL 
  PRIMARY KEY   chenweiliang_id ),
  UNIQUE KEY AUTHOR_INDEX chenweiliang_author TYPE = MyISAM ;  


- - 转储数据`chenweiliang_tbl` -
 


INSERT INTO chenweiliang_tbl 
       VALUES 1 'Learn PHP' 'John Poul' '2007-05-24' );
INSERT INTO chenweiliang_tbl 
       VALUES 2 '学习MySQL' 'Abdul S' '2007-05-24' );
INSERT INTO chenweiliang_tbl 
       VALUES 3 'JAVA Tutorial' 'Sanjay' '2007-05-06' );

Ha exportálnia kell a teljes adatbázis adatait, használja a következő parancsot:

$ mysqldump - u root - p chenweiliang > database_dump 文本
密码******

Ha biztonsági másolatot kell készítenie az összes adatbázisról, használja a következő parancsot:

$ mysqldump - u root - p - all - databases > database_dump 文本
密码******

A --all-databases beállítás hozzáadásra került a MySQL 3.23.12-es és újabb verzióiban.

Ez a módszer használható adatbázis-mentési stratégia megvalósítására.


Adattáblázatok és adatbázisok másolása más gazdagépekre

Ha adatokat kell másolnia egy másik MySQL-kiszolgálóra, akkor a mysqldump parancsban megadhatja az adatbázis nevét és a táblát.

Hajtsa végre a következő parancsot a forrásgazdagépen, hogy biztonsági másolatot készítsen az adatokról a dump.txt fájlba:

$ mysqldump - u root - p database_name table_name > dump 文本 
密码*****

Ha teljes biztonsági másolatot készít az adatbázisról, nem kell konkrét táblanevet használnia.

Ha importálnia kell a biztonsági másolat adatbázist a MySQL szerverre, akkor a következő parancsot használhatja, a következő paranccsal meg kell erősítenie, hogy az adatbázis létrejött:

$ mysql - u root - p database_name < dump 文本 
密码*****
你也可以使用以下命令将导出的数据直接导入到远程的服务器上,但请确保两台服务器是相通的,是可以相互访问的:</ p > 
$ mysqldump的- ü根- p DATABASE_NAME \
        | mysql - h other - host com database_name

A fenti parancs egy cső segítségével importálja az exportált adatokat a megadott távoli gazdagépre.

发表 评论

E-mail címét nem tesszük közzé. A kötelező mezőket használjuk * Címke

Lapozzon a lap tetejére