recherche

Maison  >  Questions et réponses  >  le corps du texte

mongodb

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

高洛峰高洛峰2758 Il y a quelques jours605

répondre à tous(1)je répondrai

  • 黄舟

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

    Solution

    Tout d'abord, mongod.lock est un fichier de verrouillage créé sur le disque dur après le démarrage du serveur mongo Si vous quittez le service mongod normalement, même si le fichier existe toujours, cela n'affectera pas le suivant. service de démarrage mongod. Dans le même temps, ce fichier enregistrera également certains statuts de mongod pendant le fonctionnement, afin que des invites d'informations d'exception puissent être obtenues lorsque le service est redémarré normalement.

    Remarque : Généralement, les fichiers mongod doivent être supprimés uniquement en cas de sortie anormale du service mongod.lock. Quittez normalement, pas besoin de supprimer.

    Maintenant que les données sont perdues, il devrait s'agir d'une sortie anormale, c'est-à-dire que la base de données plante. S'il n'y a pas de 开启journal, alors il n'y a aucun moyen de garantir l'intégrité des données.

    Il en est généralement ainsi 开启journal dans un environnement de production.

    Si les données ne sont pas sauvegardées, vous pouvez uniquement essayer d'utiliser la réparation intégrée de Mongod, exécutez mongod plus l'option --repair :

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

    Voulez-vous supprimer le fichier mongod.lock ?

    Lorsque mongod est arrêté normalement, le fichier mongod.lock sera effacé la prochaine fois que vous le démarrerez, vous saurez qu'il a été complètement arrêté la dernière fois. Au contraire, si le fichier de verrouillage n'est pas effacé, mongod ne s'arrête pas correctement.

    Si mongod détecte qu'il n'y a pas d'arrêt normal, il ne vous laissera pas redémarrer. Au démarrage, il imprimera des informations sur le dernier arrêt anormal et vous devrez copier les données. Cependant, certaines personnes ont réalisé que cette vérification pouvait être contournée en supprimant le fichier de verrouillage. Il y a donc une raison pour supprimer ce fichier. La suppression du fichier de verrouillage au démarrage signifie que vous ne savez pas ou ne vous souciez pas si vos données ont été corrompues. Si vous ne parvenez pas à démarrer mongod, veuillez réparer vos données au lieu de supprimer le fichier de verrouillage.

    répondre
    0
  • Annulerrépondre