這方法不需要temp file,可以同時dump,zip,send&import,
問題是不支持resume,如果中途斷線…就需要重來。
@Receiver (先執行這裡,Receiver的nc必須先啟動)
nc -l {port} -v | gzip -d -c | mysql {db} -u{user} -p
@Sender
mysqldump {db} -u{user} -p | gzip | nc {ip of Receiver} {port}
FAQ:
1. nc (netcat) 安裝
yum install nc
2. 查看進度 (估計值)
a)傳送前先到Sender執行下面的sql...並記下要傳的db size是多少。
b)傳送中…在Receiver執行下面的sql...用來查看已import的資料有多大
查看db size SQL:
SELECT table_schema "Data Base Name", sum( data_length + index_length ) / 1024 / 1024
"Data Base Size in MB" FROM information_schema.TABLES GROUP BY table_schema ;
另外,如果你的db是MyISAM你也可以用(如果是innoDB, 則需要開啟innodb_file_per_table)
du -h /var/lib/mysql/{db}
來查看Sender & Receiver現在的data size而估計進度