使用mongosync同步數據
- 2019 年 10 月 4 日
- 筆記
注意: 我下面的這個mongodb版本較低(3.2.16), 還可以用這個工具來同步數據。工具不支援更高版本的mongodb了.
使用方法:
https://github.com/Qihoo360/mongosync
# 需要先yum安裝這幾個依賴包,否則下面的make編譯會失敗 yum -y install gcc gcc-c++ yum -y install boost-devel boost openssl-devel git clone https://github.com/Qihoo360/mongosync.git cd mongosync make
編譯完成後,會生成一個output的目錄,裡面放的就是編譯完成的文件還有一個配置文件。
說明如果編譯報錯的話,日誌路徑在: mongosync/dep/mongo-cxx-driver/build/scons/config.log
cd output/
程式可以通過命令行及配置文件的方式運行,參數說明如下:
-c conf.file 使用conf.file配置文件啟動mongosync --src_srv arg 源端ip及埠資訊,格式:--src_srv 192.168.1.1:27017 --src_user arg 源端用戶 --src_passwd arg 源端密碼 --src_auth_db arg 源端認證庫 --src_use_mcr 強制源端使用MONGODB-CR密碼認證 --dst_srv arg 目的端ip及埠資訊,格式:--src_srv 192.168.1.2:27018 --dst_user arg 目的端用戶,需要具有創建資料庫,集合,索引等操作許可權 --dst_passwd arg 目的端密碼 --dst_auth_db arg 目的端認證庫 --dst_use_mcr 強制目的端使用MONGODB-CR密碼認證 --db arg 源端資料庫,默認同步除admin及local外的所有資料庫 --dst_db arg 目的端資料庫 --coll arg 源端集合,默認同步全部集合 --dst_coll arg 目的端集合 --oplog 是否同步oplog --raw_oplog 是否只同步oplog --op_start arg oplog同步的開始點位,格式:--op_start 1479436001,1 --op_end arg oplog同步的結束點位,格式:--op_start 1479436002,2 --dst_op_ns arg oplog同步時目的端的oplog名稱,格式:--dst_op_ns sync.oplog --no_index 是否同步索引 --filter arg 同步過濾語句,格式:--filter {"name":xxx} --bg_num arg 數據同步執行緒數 --batch_size arg 數據傳輸塊的大小(0-16M,默認是16M)
./mongosync –src_srv 192.168.2.2:27017 –src_user admin –src_passwd 123456 –src_auth_db admin –src_use_mcr –dst_srv 192.168.2.4:27017 –dst_user root –dst_passwd 123456 –dst_auth_db admin –db db1 –dst_db db1 –bg_num 4
更全的使用方法在這裡:https://github.com/Qihoo360/mongosync/wiki/%E4%BD%BF%E7%94%A8%E6%A0%B7%E4%BE%8B
如果要在後台運行,可以開個screen窗口。