Rumah  >  Soal Jawab  >  teks badan

mongodb

大家好,为什么mongodb存入的数据,第二天启动mongo的时候,删掉mongod.lock然后数据全没了,是什么原因?

高洛峰高洛峰2756 hari yang lalu604

membalas semua(1)saya akan balas

  • 黄舟

    黄舟2017-04-27 09:04:59

    Penyelesaian

    Pertama sekali, mongod.lock ialah fail kunci yang dibuat pada cakera keras selepas pelayan mongo dimulakan Jika anda keluar dari perkhidmatan mongod seperti biasa, walaupun fail itu masih wujud, ia tidak akan menjejaskan yang seterusnya. perkhidmatan mongod permulaan. Pada masa yang sama, fail ini juga akan merekodkan beberapa status mongod semasa operasi, supaya gesaan maklumat pengecualian boleh diperolehi apabila perkhidmatan dimulakan semula seperti biasa.

    Nota: Secara amnya, mongod fail perlu dipadamkan hanya apabila keluar daripada perkhidmatan mongod.lock secara tidak normal. Keluar seperti biasa, tidak perlu memadam.

    Sekarang data hilang, ia sepatutnya menjadi jalan keluar yang tidak normal, iaitu pangkalan data ranap Jika tiada 开启journal, maka tiada cara untuk memastikan integriti data.

    Jadi secara amnya 开启journal dalam persekitaran pengeluaran.

    Jika data tidak disandarkan, anda hanya boleh cuba menggunakan pembaikan terbina dalam mongod, jalankan mongod serta pilihan --repair:

    mongod --dbpath /path/to/corrupt/data --repair
    

    Adakah anda mahu memadamkan fail mongod.lock?

    Apabila mongod dimatikan seperti biasa, fail mongod.lock akan dipadamkan pada kali seterusnya anda memulakannya, anda akan tahu bahawa ia telah ditutup sepenuhnya kali terakhir. Sebaliknya, jika fail kunci tidak dibersihkan, mongod tidak ditutup dengan baik.

    Jika mongod mengesan bahawa ia tidak ditutup seperti biasa, ia tidak akan membenarkan anda memulakannya semula Apabila ia bermula, ia akan mencetak maklumat tentang penutupan luar biasa terakhir dan memerlukan anda menyalin data. Walau bagaimanapun, sesetengah orang telah menyedari bahawa semakan ini boleh dipintas dengan memadam fail kunci. Jadi ada sebab untuk memadam fail ini. Memadamkan fail kunci pada permulaan bermakna anda tidak tahu atau tidak peduli jika data anda telah rosak. Jika anda tidak boleh memulakan mongod, sila baiki data anda dan bukannya memadam fail kunci.

    balas
    0
  • Batalbalas