大家好,为什么mongodb存入的数据,第二天启动mongo的时候,删掉mongod.lock然后数据全没了,是什么原因?
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
まず、mongod.lock は、mongo サーバーの起動後に mongod を終了するとハードディスク上に作成されるロック ファイルです。ファイルがまだ存在していても、mongod サービスの次回の起動には影響しません。同時に、このファイルには動作中の mongod のステータスも記録されるため、サービスが正常に再起動されたときに例外情報のプロンプトを取得できます。 mongod.lock是mongo服务端启动后在硬盘中创建的一个锁文件,如果你正常退出mongod服务,该文件即使还存在,也不会影响下一次启动mongod服务的。同时,这个文件还会记录mongod在运行过程中的一些状态,以便在正常重新启动服务时能够获取异常信息提示。
mongod.lock
mongo
mongod
注意:一般只有在非正常退出mongod服务时,才需要删除mongod.lock文件。正常退出,无需删除。
现在数据丢失,应该是非正常退出,即数据库崩溃,如果没有开启journal,那么就没办法保证数据的完整性了。
开启journal
所以在生产环境中一般都会开启journal。
如果数据没有备份,只能试试使用mongod内置的修复,运行mongod加上--repair选项:
--repair
mongod --dbpath /path/to/corrupt/data --repair
開かれていない
有効
解決策
まず、
mongod.lock
は、mongo
サーバーの起動後にmongod
を終了するとハードディスク上に作成されるロック ファイルです。ファイルがまだ存在していても、mongod
サービスの次回の起動には影響しません。同時に、このファイルには動作中の mongod のステータスも記録されるため、サービスが正常に再起動されたときに例外情報のプロンプトを取得できます。mongod.lock
是mongo
服务端启动后在硬盘中创建的一个锁文件,如果你正常退出mongod
服务,该文件即使还存在,也不会影响下一次启动mongod
服务的。同时,这个文件还会记录mongod在运行过程中的一些状态,以便在正常重新启动服务时能够获取异常信息提示。注意:一般只有在非正常退出
mongod
服务时,才需要删除mongod.lock
文件。正常退出,无需删除。现在数据丢失,应该是非正常退出,即数据库崩溃,如果没有
开启journal
,那么就没办法保证数据的完整性了。所以在生产环境中一般都会
开启journal
。如果数据没有备份,只能试试使用mongod内置的修复,运行
mongod
加上--repair
选项:是否要删除
注: 一般に、mongod.lock
mongod.lock
ファイルは、mongod
サービスが異常終了した場合にのみ削除する必要があります。通常終了します。削除する必要はありません。開かれていない
場合、データの整合性を保証する方法はありません。有効
になっています。 🎜 🎜 データがバックアップされていない場合は、--repair
オプションを指定して mongod の組み込み修復を使用することのみを試みることができます。 🎜 リーリー 🎜mongod.lock
ファイルを削除しますか? 🎜 🎜mongod が正常にシャットダウンされると、次回起動時に mongod.lock ファイルがクリアされ、前回完全にシャットダウンされたことがわかります。逆に、ロックファイルがクリアされていない場合、mongod は正常にシャットダウンしません。 🎜 🎜 mongod が正常なシャットダウンがないことを検出した場合、再起動できなくなり、起動時に最後の異常なシャットダウンに関する情報が出力され、データのコピーが必要になります。ただし、ロック ファイルを削除することでこのチェックを回避できることに気づいた人もいます。したがって、このファイルを削除するには理由があります。起動時にロック ファイルを削除すると、データが破損しているかどうかが分からず、気にもならないことになります。 mongodを起動できない場合は、ロックファイルを削除するのではなく、データを修復してください。 🎜