AR ホームベーカリー

オイラのアウトプット用ホームベーカリー!

MongoDB の単体運用環境で雑にレプリカを作成する

本番がレプリカ環境なので、ローカルも同じ様にレプリカ構築したい場合があると思われる。 (mongoid の option に replica_set: rs1 とか書く時)

MongoDB は複数プロセスやホストを用意しなくても雑にレプリカを用意できる。

コンフィグの用意

レプリケーションの名前を設定する。

/etc/mongo/mongod.conf

macOSbrew 経由で入れたら /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"}]})

できました、以上! 本番では使うなよ!

参考?

qiita.com