Maison > Questions et réponses > le corps du texte
大家好,为什么mongodb存入的数据,第二天启动mongo的时候,删掉mongod.lock然后数据全没了,是什么原因?
黄舟2017-04-27 09:04:59
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
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.