2012-12-19 83 views
0

我有一個在Ubuntu 12.04機器上的mongodb 2.2.2設置,我需要在數據庫運行時修改binding_ip列表,而不需要重啓mongo。有沒有辦法做到這一點? 從pymongo可以做到嗎?當mongodb運行時,我可以更改mongod的binding_ip嗎?

p.s.其實我已經試過

的mongod --config /etc/mongodb.conf --bind_ip 127.0.0.1 31 * *

與供應bind_ip清單,但它說

週三17年12月19日:02:05 initAndListen中的[initandlisten]異常:10309無法創建/打開鎖定文件:/var/lib/mongodb/mongod.lock errno:13權限被拒絕是否mongod實例已在運行?,終止

和I不知道它是不是隻是重新啓動數據庫。

+0

機器上有root權限嗎?用例究竟是什麼? – kmkaplan

+0

@kmkaplan是的,我有根。用例非常簡單:一些客戶端不斷部署在遠程機器上並連接到數據庫。我只需要限制對db的訪問權限。 – Moonwalker

+1

聽起來好像添加'iptables(8)'規則可以做到這一點。這是一個選擇嗎?我的理解是,你的mongodb目前正在回答太多的地址,你想限制這些地址。 – kmkaplan

回答

2

顯然你可以使用iptables(8)規則。然後嘗試(使用192.0.2.1是您希望收到連接的IP地址):

iptables -A INPUT -p tcp -d '!' 192.0.2.1 -p 27017 --m state --state NEW -j REJECT 

如果你已經有了iptables規則,那麼你可能需要一個不同的命令。檢查iptables -L INPUT的輸出。

+0

非常感謝您的時間和關注,請立即嘗試。 – Moonwalker

相關問題