MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Cara mengonversi set replika MongoDB ke server yang berdiri sendiri

Hapus semua host sekunder dari kumpulan replika (rs.remove('host:port')), mulai ulang mongo deamon tanpa parameter replSet (edit /etc/mongo.conf) dan host sekunder mulai lagi dalam mode mandiri.

Host Utama adalah salah satu yang rumit, karena Anda tidak dapat menghapusnya dari set replika dengan rs.remove. Setelah Anda hanya memiliki simpul utama di set replika, Anda harus keluar dari shell mongo dan menghentikan mongo. Kemudian Anda mengedit /etc/mongo.conf dan menghapus parameter replSet dan memulai mongo lagi. Setelah Anda memulai mongo, Anda sudah berada dalam mode mandiri, tetapi shell mongo akan menampilkan pesan seperti:

31-07-2015T12:02:51.112+0100 [initandlisten] ** PERINGATAN:mongod dimulai tanpa --replSet namun 1 dokumen ada di local.system.replset

untuk menghapus peringatan, Anda dapat melakukan 2 prosedur:1) Menjatuhkan db lokal dan memulai kembali mongo:

use local
db.dropDatabase();

/etc/init.d/mongod restart

2)Atau jika Anda tidak ingin terlalu radikal, Anda dapat melakukan:

use local
db.system.replset.find()

dan akan muncul pesan seperti:

{ "_id" : "replicaSetName", "version" : 1, "members" : [ { "_id" : 0, "host" : "hostprimary:mongoport" } ] }

maka Anda akan menghapusnya menggunakan:

db.system.replset.remove({ "_id" : "replicaSetName", "version" : 1, "members" : [ { "_id" : 0, "host" : "hostprimary:mongoport" } ] })

dan mungkin akan meminta:

WriteResult({ "nRemoved" : 1 })

Sekarang, Anda dapat memulai kembali mongo dan peringatan tersebut akan hilang, dan Anda akan memiliki mongo dalam mode mandiri tanpa peringatan



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Antarmuka mongo

  2. Buat objek tanggal ISO dalam javascript

  3. Regex MongoDB, Indeks &Kinerja

  4. Kesalahan saat memutakhirkan Mongodb dari 3.2 ke 3.6

  5. MongoDB - Izin ditolak untuk soket:/tmp/mongodb-27017.sock