mysqldump工具命令操作mysql備份匯入匯出執行個體

來源:互聯網
上載者:User

mysqldump工具很多方面類似相反作用的工具mysqlimport。它們有一些同樣的選項。但mysqldump能夠做更多的事情。它可以把整個資料庫裝載到一個單獨的文字檔中。這個檔案包含有所有重建您的資料庫所需要的SQL命令。這個命令取得所有的模式(Schema,後面有解釋)並且將其轉換成DDL文法(CREATE語句,即資料庫定義語句),取得所有的資料,並且從這些資料中建立INSERT語句。這個工具將您的資料庫中所有的設計倒轉。因為所有的東西都被包含到了一個文字檔中。這個文字檔可以用一個簡單的批處理和一個合適SQL語句導回到MySQL中。這個工具令人難以置信地簡單而快速。決不會有半點鐘讓人頭疼地地方。


mysqldump是mysql用於轉儲存資料庫的公用程式。它主要產生一個SQL指令碼,其中包含從頭重新建立資料庫所必需的命令CREATE TABLE INSERT等。下面就讓我們一起學習吧!

一、mysqldump:Database Backup程式

有3種方式來調用mysqldump:

mysqldump [options] db_name [tables]
mysqldump [options] ---database DB1 [DB2 DB3...]
mysqldump [options] --all--database

如果沒有指定任何錶或使用了---database或--all--database選項,則轉儲整個資料庫。

1、備份一個資料庫.

mysqldump -uroot -p123456 mysql > mysql_backup.sql

這裡備份了database mysql的結構和資料,產生的sql檔案不會有建立database mysql的語句。

2、可以用一個命令備份mysql,test多個資料庫:

mysqldump -u root -p123456 --database mysql test > my_databases.sql

產生的sql檔案有建立database mysql和test的語句

3、備份所有資料庫:

mysqldump -u root -p123456 --all-databases > all_databases.sql

4、匯出mysql這個資料庫的結構

mysqldump -u root -p123456 -d --add-drop-table mysql > mysql_define.sql

5、匯出一個資料所有資料並用gz壓縮

mysqldump -u root -p123456 mysql | gzip > mysql.sql.gz

可以這樣將轉儲檔案讀回到伺服器:

mysql db_name < backup-file.sql
mysql -e "source /path-to--backup/backup-file.sql" db_name

或者從gz檔案中還原

gunzip -f < mysql.sql.gz | mysql -u root -p123456 test


二、SELECT...INTO OUTFILE

SELECT...INTO OUTFILE 'file_name'形式的SELECT可以把被選擇的行寫入一個檔案中,該檔案被建立到伺服器主機上。

SELECT...INTO OUTFILE是LOAD DATA INFILE的補語;用於語句的exort_options部分的文法包括部分FIELDS和LINES子句,這些子句與LOAD DATA INFILE語句同時使用。

在下面的例子中,產生一個檔案,各值用逗號隔開。這種格式可以被許多程式使用

SELECT * INTO OUTFILE '/tmp/result.txt'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM mysql.user;

將mysql資料庫的user表的資料匯出到/tmp/result.txt

SELECT...INTO OUTFILE只能匯出資料,不能匯出結構,一般和load data聯合使用。

三、LOAD DATA INFILE


LOAD DATA INFILE語句用於高速地從一個文字檔中讀取行,並裝入一個表中。檔案名稱必須為一個文字字串。

由character_set_database系統變數指示的字元集被用於解釋檔案中的資訊。

LOAD DATA LOCAL INFILE '/tmp/result.txt' INTO TABLE test.user
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'

把/tmp/result.txt的資料匯入到test資料庫的user表。

四、匯入匯出格式

FIELDS TERMINATED BY ',' 欄位間分割符採用,號
OPTIONALLY ENCLOSED BY '"'     用"號將欄位包圍,對數值型無效
LINES TERMINATED BY '\n'       記錄間隔符採用\n分行符號




在CMD命令下匯入與匯出MYSQL資料庫執行個體詳解

1.匯入資料庫 (本地)

例如你安裝xampp在本地D盤,(步驟都一樣,注意位置)匯入資料庫步驟如下:

d:
cd xampp\mysql\bin\
xampp\mysql\bin\mysql -u資料庫名 -p密碼 //

mysql>use net2003; //找出要匯入資料庫

mysql>source D:\資料庫位置 即可

--------------------------------------------------------------------------------------

2.匯出資料庫 (本地)

d:
cd xampp\mysql\bin\

mysql -h伺服器 -u使用者 -p密碼 要匯入的資料庫名 <備份檔案.sql
mysqldump -u資料庫名 -p密碼 資料庫> net2003.sql 資料庫 即可

然後運行 explorer . 表示開啟已匯出資料庫的位置,找到匯出的資料庫

到這就全完工了.

--------------------------------------------------------------------------------------

匯入時出現foreign key關聯表問題,解決方案:

運行source file.sql前運行:
use databasename;後
SET FOREIGN_KEY_CHECKS = 0;
匯入成功後運行:
SET FOREIGN_KEY_CHECKS = 1;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.