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

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

高洛峰
高洛峰

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

全員に返信(1)
黄舟

解決策

まず、mongod.lock は、mongo サーバーの起動後に mongod を終了するとハードディスク上に作成されるロック ファイルです。ファイルがまだ存在していても、mongod サービスの次回の起動には影響しません。同時に、このファイルには動作中の mongod のステータスも記録されるため、サービスが正常に再起動されたときに例外情報のプロンプトを取得できます。 mongod.lockmongo服务端启动后在硬盘中创建的一个锁文件,如果你正常退出mongod服务,该文件即使还存在,也不会影响下一次启动mongod服务的。同时,这个文件还会记录mongod在运行过程中的一些状态,以便在正常重新启动服务时能够获取异常信息提示。

注意:一般只有在非正常退出mongod服务时,才需要删除mongod.lock文件。正常退出,无需删除。

现在数据丢失,应该是非正常退出,即数据库崩溃,如果没有开启journal,那么就没办法保证数据的完整性了。

所以在生产环境中一般都会开启journal

如果数据没有备份,只能试试使用mongod内置的修复,运行mongod加上--repair选项:

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

是否要删除mongod.lock

注: 一般に、mongod.lock ファイルは、mongod サービスが異常終了した場合にのみ削除する必要があります。通常終了します。削除する必要はありません。

データが失われると、異常終了、つまりデータベースがクラッシュするはずです。ジャーナルが 開かれていない 場合、データの整合性を保証する方法はありません。

そのため、実稼働環境では、ジャーナルは通常 有効になっています。 🎜 🎜 データがバックアップされていない場合は、--repair オプションを指定して mongod の組み込み修復を使用することのみを試みることができます。 🎜 リーリー 🎜mongod.lock ファイルを削除しますか? 🎜 🎜mongod が正常にシャットダウンされると、次回起動時に mongod.lock ファイルがクリアされ、前回完全にシャットダウンされたことがわかります。逆に、ロックファイルがクリアされていない場合、mongod は正常にシャットダウンしません。 🎜 🎜 mongod が正常なシャットダウンがないことを検出した場合、再起動できなくなり、起動時に最後の異常なシャットダウンに関する情報が出力され、データのコピーが必要になります。ただし、ロック ファイルを削除することでこのチェックを回避できることに気づいた人もいます。したがって、このファイルを削除するには理由があります。起動時にロック ファイルを削除すると、データが破損しているかどうかが分からず、気にもならないことになります。 mongodを起動できない場合は、ロックファイルを削除するのではなく、データを修復してください。 🎜
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート