mongodb
高洛峰
高洛峰 2017-04-27 09:02:59
0
1
618

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

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

répondre à tous(1)
黄舟

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.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal