What is the use of the mongo.lock file? - mongodb

I am using mongodb-v1.8.1. Unfortunately my server gets hanged and i restarted my server.Once it comes back i could-not start the MongoDB. I removed the mongo.lock file and ran repair database query.Now mongo working fine. I am baffled with the mongo.lock file.What is the use of the mongo.lock file?.Removing the mongo.lock file will affect my existing data?
Please let me know your suggestion..
Thanks,

Mongodb always creates the mongodb.lock file when the server starts and drops it before mongodb is stopped.
Removing mongodb.lock does not affect any data it just means that mongodb was not stopped correctly. So, you are correct in removing this file and running with the -repair option should fix database.

Related

Recovering Mongodb collections and documents data

good day to you all.
I am currently having a hard time restoring the MongoDB database.
Here is what happened.
Thanks for looking into this matter
Basically, my server and MongoDB 3.2 server running on DigitalOcean.
I made some changes on mongod.conf file to allow remote access from my local machine. Since then, it no longer worked. I got Mongodb connection failed issue so reinstalled new Mongodb version 4.4 and it doesn't want to load existing data which is located in var/lib/MongoDB. So I downloaded the whole data files as posted above on my local machine.
Now, at least I want to open the current database on my local machine but I couldn't find any proper way to achieve this. Thanks again for looking into this issue.

My MongoDB database was lost after running a read-only script

I use MongoDB 4.2 on my local machine (windows 10). I have not changed any configurations, so the default behavior of only accepting local connections should be in place. (I only need to access it locally)
I was running a script that was reading data from my MongoDB, there are no writes to the db in this script. When all the numbers were crunched I noticed weird results, and saw that my database was suddenly gone. I checked my dbpath and the data was gone from there too! Could it be a hack, or was it MongoDB that dropped both the database and the raw data in the dbpath?
I've seen similar questions on this forum, mostly resolved by the author forgetting to reroute to the correct dbpath, which is not the case here. I've checked the log but the log seems to be very limited (I restarted mongod and could only see logging happening after the restart).
MongoDB does not delete all of the files in its data directory.
Most likely either you are checking in the wrong place or something external to MongoDB deleted its files.

Cannot start MongoDB: System error 1067 in Windows

After setting up MongoDB service on Windows Server 2008 R2 this error was raised.
C:\mongodb\bin>net start MongoDB
The Mongo DB service is starting.
The Mongo DB service could not be started.
A system error has occurred.
System error 1067 has occurred.
The process terminated unexpectedly.
The error came from an unclean shutdown detected.
Please visit http://dochub.mongodb.org/core/repair for recovery instructions.
a few steps will fix it (as it's written in the link above):
1) remove the file /data/db/mongod.lock
2) run mongod.exe --repair
3) start the mongod service net start MongoDB
For anyone who faced this error on 2020, with version 4.4.1 of mongo, and the accepted answer not solve the issue, here is what I've done:
Remove all mongo services from pc (add/remove programs).
Go to program files and backup the MongoDB folder.
Remove the MongoDB folder.
Re-install mongo db.
And it should work.
UPDATE for January 2021, the following saved me without re-installing MongoDB and losing all my data:
C:\Program Files\MongoDB\Server\4.4\bin>mongod --dbpath "C:\Program Files\MongoDB\Server\4.4\data" --repair
I was facing the same issue and I closed the other command prompt which was opened with mongoDB.exe, and hence created a lock on that executable. Simply only closing that command prompt window worked fine. Thanks for the help.
Make sure you have at least 5 Gb available space on the drive of the database. For me, clearing that space enabled the ability to restart Mongodb.
If you are in the Windows. you should change the mongodb's config in the System disk.For example
1) I change C:\Windows\system32\mongodb.exe.
2) And I make the path in D:\mongodb\mongod.cfg .Before this,you should remove previous.
3) Finally , you can net the serve. net start mongodb.
I hope it can help you .English is not very good ,please forgive me.
enter image description here
I was having the problem of starting the the MongoDB. The logs are pretty descriptive and you can find suggestion from there.
There is a 'd' folder that needs to be created within data folder like
data\d which was missing.
This solved my problem.
Although, not an ideal solution, I ended up deleting all of the database files in \data\db and was then able to successfully run the MongoDB service. Note, this will delete all of the data in the database.

GridFS issues with a Mongo Import

I have a production server running Mongo 2.0.7 and a local machine that runs Mongo 2.0.6.
I exported a database as a JS file and then imported it in my local machine. EVerything seems to be working fine however I am unable to server GridFS files. That is when I try accessing that resource, I get corrupt data and thus no image. Any thoughts? I tried looking at the change log for the version change and saw nothing that could effect that?
Thanks
I'm guessing that you used mongoexport to produce the JSON dumps. mongoexport does not provide the same data fidelity as mongodump, so try that instead.

MongoDB db files movement

I am using mongodb and I have changed the dbpath. Can I just copy all the files from the earlier dbpath to the new dbpath?
PS: I have come across the mongodump alternative which might be a bit tedious. So I am interested in knwoing whether plain copying work?
Yes, you can just do a normal copy if you shutdown your mongod first. You don't need to copy mongod.lock.