使用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窗口。