小生博客:http://xsboke.blog.51cto.com
-------謝謝您的參考,如有疑問,歡迎交流
SQL備份需要導(dǎo)入到Mysql,但是SQL文件太大怎么辦?
推薦一個shell腳本:mysqldumpsplitter
--source: mysqldump filename to process. It could be a compressed or regular file.
--desc: This option will list out all databases and tables.
--extract: Specify what to extract. Possible values DB, TABLE, ALLDBS, ALLTABLES, REGEXP
--match_str: Specify match string for extract command option.
--compression: gzip/pigz/bzip2/none (default: gzip). Extracted file will be of this compression.
--decompression: gzip/pigz/bzip2/none (default: gzip). This will be used against input file.
--output_dir: path to output dir. (default: ./out/)
--config: path to config file. You may use --config option to specify the config file that includes following variables.
SOURCE=
EXTRACT=
COMPRESSION=
DECOMPRESSION=
OUTPUT_DIR=
MATCH_STR=
從mysqldump中提取單個數(shù)據(jù)庫:
sh mysqldumpsplitter.sh --source filename --extract DB --match_str database-name
上面的命令將從指定的“filename”sql文件為指定的數(shù)據(jù)庫創(chuàng)建sql,并將其以壓縮格式存儲到database-name.sql.gz。
從mysqldump中提取單個表:
sh mysqldumpsplitter.sh --source filename --extract TABLE --match_str table-name
上面的命令將從指定的“filename”mysqldump文件為指定的表創(chuàng)建sql,并將其以壓縮格式存儲到database-name.sql.gz。
從mysqldump中提取與正則表達式匹配的表:
sh mysqldumpsplitter.sh --source filename --extract REGEXP --match_str regular-expression
上面的命令將為指定的“filename”mysqldump文件中的指定正則表達式的表創(chuàng)建sqls,并將其以壓縮格式存儲到單個table-name.sql.gz中。
從mysqldump中提取所有數(shù)據(jù)庫:
sh mysqldumpsplitter.sh --source filename --extract ALLDBS
上面的命令將從指定的“filename”mysqldump文件中提取所有數(shù)據(jù)庫,并將其以壓縮格式存儲到單個database-name.sql.gz中。
從mysqldump中提取所有表:
sh mysqldumpsplitter.sh --source filename --extract ALLTABLES
上面的命令將從指定的“filename”mysqldump文件中提取所有表,并將其以壓縮格式存儲到單個table-name.sql.gz中。
從mysqldump中提取表的列表:
sh mysqldumpsplitter.sh --source filename --extract REGEXP --match_str '(table1|table2|table3)'
上面的命令將從指定的“filename”mysqldump文件中提取表,并將它們以壓縮格式存儲到單個table-name.sql.gz中。
從壓縮的mysqldump中提取數(shù)據(jù)庫:
sh mysqldumpsplitter.sh --source filename.sql.gz --extract DB --match_str 'dbname' --decompression gzip
上面的命令將使用gzip解壓縮filename.sql.gz,從“filename.sql.gz”中提取名為“dbname”的數(shù)據(jù)庫并將其存儲為out / dbname.sql.gz
以壓縮格式從壓縮的mysqldump中提取數(shù)據(jù)庫:
sh mysqldumpsplitter.sh --source filename.sql.gz --extract DB --match_str 'dbname' --decompression gzip --compression none
上面的命令將使用gzip解壓縮filename.sql.gz并從“filename.sql.gz”中提取名為“dbname”的數(shù)據(jù)庫并將其存儲為plain sql out / dbname.sql
從不同文件夾中的mysqldump中提取alltables:
sh mysqldumpsplitter.sh --source filename --extract ALLTABLES --output_dir /path/to/extracts/
上面的命令將從指定的“filename”mysqldump文件中提取所有表,并將壓縮格式的表提取到存儲在/ path / to / extracts /下的各個文件table-name.sql.gz。該腳本將創(chuàng)建文件夾/ p??ath / to / extracts /如果不存在。
從完整轉(zhuǎn)儲中的一個數(shù)據(jù)庫中提取一個或多個表:
考慮您有一個包含多個數(shù)據(jù)庫的完整轉(zhuǎn)儲,并且您希望從一個數(shù)據(jù)庫中提取少量表。
Extract single database:
`sh mysqldumpsplitter.sh --source filename --extract DB --match_str DBNAME --compression none`
Extract all tables
`sh mysqldumpsplitter.sh --source out/DBNAME.sql --extract REGEXP --match_str "(tbl1|tbl2)"`
雖然我們可以使用另一個選項在單個命令中執(zhí)行此操作,如下所示:
sh mysqldumpsplitter.sh --source filename --extract DBTABLE --match_str "DBNAME.(tbl1|tbl2)" --compression none
上面的命令將從當(dāng)前目錄中文件夾“out”下的sql格式的DBNAME數(shù)據(jù)庫中提取tbl1和tbl2。
您可以按如下方式提取單個表:
sh mysqldumpsplitter.sh --source filename --extract DBTABLE --match_str "DBNAME.(tbl1)" --compression none
從特定數(shù)據(jù)庫中提取所有表:
mysqldumpsplitter.sh --source filename --extract DBTABLE --match_str "DBNAME.*" --compression none
上面的命令將以sql格式從DBNAME數(shù)據(jù)庫中提取所有表,并將其存儲在“out”目錄下。
列出mysqldump文件的內(nèi)容
mysqldumpsplitter.sh --source filename --desc
上面的命令將列出轉(zhuǎn)儲文件中的數(shù)據(jù)庫和表。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
當(dāng)前題目:分割SQL文件-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://jinyejixie.com/article4/cccpie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、網(wǎng)站改版、網(wǎng)站營銷、營銷型網(wǎng)站建設(shè)、手機網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容