mongodb版本2.0.8
主庫
/usr/local/mongodb/bin/mongod --port 27017 --dbpath=/data/db --logpath=/data/db_log/log.log --logappend --master --auth --fork
從庫
/usr/local/mongodb/bin/mongod --dbpath /data0/db --logpath /data0/db_log/log.log --port 27017 --source 33.5.71.175:27017 --only bookuu --slavedelay 8 --autoresync --auth --slave --fork
在從庫啓動的時候,一直會有報一個參數錯誤的問題,試了好多次後發現是參數順序問題,沒有值的,好比“--autoresync”, “--slave” 這些,要放在後面,很奇怪的感覺...
在本機啓動沒有遇到這個錯誤,在另外一臺啓動從庫的時候,發現日誌報:
Fri Jul 26 18:03:01 [replslave] replHandshake res not: 0 res: { errmsg: "need to login", ok: 0.0 }
Fri Jul 26 18:03:01 [replslave] repl: AssertionException nextSafe(): { $err: "unauthorized db:local lock type:-1 client:33.5.71.176", code: 10057 }
repl: sleep 2 sec before next pass
百度搜“mongodb 主從 errmsg: "need to login""
發現解決的辦法是,要在主從機器上的local庫下建立一個帳號,用來認證,然後重啓從庫就可以了。