本番がレプリカ環境なので、ローカルも同じ様にレプリカ構築したい場合があると思われる。 (mongoid の option に replica_set: rs1
とか書く時)
MongoDB は複数プロセスやホストを用意しなくても雑にレプリカを用意できる。
コンフィグの用意
レプリケーションの名前を設定する。
/etc/mongo/mongod.conf
macOS で brew 経由で入れたら /opt/homebrew/etc/mongod.conf
あたり。
... net: bindIp: 127.0.0.1 ipv6: false replication: replSetName: "rs0"
レプリケーションを作成する
コンフィグを用意したら mongod を起動して、 mongosh なりでログインします。
ログイン後、 rs.initiate
を実行することで作成できます。
[root@localhost ~]# systemctl start mongod [root@localhost ~]# mongosh mongosh> rs.initiate({_id:"rs0",members:[{_id: 0,host:"127.0.0.1:27017"}]})
できました、以上! 本番では使うなよ!