Part 1(mysqldump):
mysqldump是官方自帶的邏輯備份工具,可以進行實例級、庫級、表級的數據與結構或單表結構備份,還能添加where篩選條件等。
例:mysqldump -uusername -ppassword --databases your DB--tables your table --where='id>10' > /tmp/backup.sql
1、導出sql文件(遠程導出)jie
mysqldump --column-statistics=0 -uusername -ppassword -hyour server ip --default-character-set=gbk your DB your table >F:\mysqldump\crawler.sql
2、導入到數據庫
source F:\mysqldump\crawler.sql
注意:
mysqldump有個缺點是,單線程執行備份,速度較慢。在生產環境使用中,做一些小庫的備份或者表的備份比較靈活,但是無法應對大數據量的備份。
因此生產環境里用的較多的是mydumper(備份)/myloader(恢復)。
Part 2(mysqldumper):
Mydumper主要特性:
是一個針對MySQL和Drizzle的高性能多線程備份和恢復工具,開發人員主要來自MySQL,Facebook,SkySQL公司。
mydumper(Facebook開源)最大的特點就是可以多線程執行備份和壓縮,速度相對快很多,空間占用也較小(壓縮率是10%-15%)。
本質上mydumper備份原理與mysqldump類似,也是把數據轉換成SQL語句的形式輸出到文件中。不過文件展示形式有區別:mysqldump整體只有一個文件;
mydumper則是每個表對應兩個文件(一個是表結構文件,也就是create table語句,一個是表數據文件,也就是insert 語句)