小生博客:http://xsboke.blog.51cto.com
創(chuàng)新互聯(lián)專(zhuān)注于企業(yè)成都營(yíng)銷(xiāo)網(wǎng)站建設(shè)、網(wǎng)站重做改版、丹陽(yáng)網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、html5、商城網(wǎng)站制作、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性?xún)r(jià)比高,為丹陽(yáng)等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。 -------謝謝您的參考,如有疑問(wèn),歡迎交流
SQL備份需要導(dǎo)入到Mysql,但是SQL文件太大怎么辦?
推薦一個(gè)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中提取單個(gè)數(shù)據(jù)庫(kù):
sh mysqldumpsplitter.sh --source filename --extract DB --match_str database-name
上面的命令將從指定的“filename”sql文件為指定的數(shù)據(jù)庫(kù)創(chuàng)建sql,并將其以壓縮格式存儲(chǔ)到database-name.sql.gz。
從mysqldump中提取單個(gè)表:
sh mysqldumpsplitter.sh --source filename --extract TABLE --match_str table-name
上面的命令將從指定的“filename”mysqldump文件為指定的表創(chuàng)建sql,并將其以壓縮格式存儲(chǔ)到database-name.sql.gz。
從mysqldump中提取與正則表達(dá)式匹配的表:
sh mysqldumpsplitter.sh --source filename --extract REGEXP --match_str regular-expression
上面的命令將為指定的“filename”mysqldump文件中的指定正則表達(dá)式的表創(chuàng)建sqls,并將其以壓縮格式存儲(chǔ)到單個(gè)table-name.sql.gz中。
從mysqldump中提取所有數(shù)據(jù)庫(kù):
sh mysqldumpsplitter.sh --source filename --extract ALLDBS
上面的命令將從指定的“filename”mysqldump文件中提取所有數(shù)據(jù)庫(kù),并將其以壓縮格式存儲(chǔ)到單個(gè)database-name.sql.gz中。
從mysqldump中提取所有表:
sh mysqldumpsplitter.sh --source filename --extract ALLTABLES
上面的命令將從指定的“filename”mysqldump文件中提取所有表,并將其以壓縮格式存儲(chǔ)到單個(gè)table-name.sql.gz中。
從mysqldump中提取表的列表:
sh mysqldumpsplitter.sh --source filename --extract REGEXP --match_str '(table1|table2|table3)'
上面的命令將從指定的“filename”mysqldump文件中提取表,并將它們以壓縮格式存儲(chǔ)到單個(gè)table-name.sql.gz中。
從壓縮的mysqldump中提取數(shù)據(jù)庫(kù):
sh mysqldumpsplitter.sh --source filename.sql.gz --extract DB --match_str 'dbname' --decompression gzip
上面的命令將使用gzip解壓縮filename.sql.gz,從“filename.sql.gz”中提取名為“dbname”的數(shù)據(jù)庫(kù)并將其存儲(chǔ)為out / dbname.sql.gz
以壓縮格式從壓縮的mysqldump中提取數(shù)據(jù)庫(kù):
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ù)庫(kù)并將其存儲(chǔ)為plain sql out / dbname.sql
從不同文件夾中的mysqldump中提取alltables:
sh mysqldumpsplitter.sh --source filename --extract ALLTABLES --output_dir /path/to/extracts/
上面的命令將從指定的“filename”mysqldump文件中提取所有表,并將壓縮格式的表提取到存儲(chǔ)在/ path / to / extracts /下的各個(gè)文件table-name.sql.gz。該腳本將創(chuàng)建文件夾/ p??ath / to / extracts /如果不存在。
從完整轉(zhuǎn)儲(chǔ)中的一個(gè)數(shù)據(jù)庫(kù)中提取一個(gè)或多個(gè)表:
考慮您有一個(gè)包含多個(gè)數(shù)據(jù)庫(kù)的完整轉(zhuǎn)儲(chǔ),并且您希望從一個(gè)數(shù)據(jù)庫(kù)中提取少量表。
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)"`
雖然我們可以使用另一個(gè)選項(xiàng)在單個(gè)命令中執(zhí)行此操作,如下所示:
sh mysqldumpsplitter.sh --source filename --extract DBTABLE --match_str "DBNAME.(tbl1|tbl2)" --compression none
上面的命令將從當(dāng)前目錄中文件夾“out”下的sql格式的DBNAME數(shù)據(jù)庫(kù)中提取tbl1和tbl2。
您可以按如下方式提取單個(gè)表:
sh mysqldumpsplitter.sh --source filename --extract DBTABLE --match_str "DBNAME.(tbl1)" --compression none
從特定數(shù)據(jù)庫(kù)中提取所有表:
mysqldumpsplitter.sh --source filename --extract DBTABLE --match_str "DBNAME.*" --compression none
上面的命令將以sql格式從DBNAME數(shù)據(jù)庫(kù)中提取所有表,并將其存儲(chǔ)在“out”目錄下。
列出mysqldump文件的內(nèi)容
mysqldumpsplitter.sh --source filename --desc
上面的命令將列出轉(zhuǎn)儲(chǔ)文件中的數(shù)據(jù)庫(kù)和表。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。