Unable to create/open lock file: /data/mongod.lock errno:13 Permission denied
I use this method to solve the problem:
sudo chown -R mongodb:mongodb /data/db
I was having the same problem on a Ubuntu ec2 instance. I was following this amazon article on page 7:
http://d36cz9buwru1tt.cloudfront.net/AWS_NoSQL_MongoDB.pdf
Mongodb path in /etc/mongodb.conf
was set to /var/lib/mongodb
(primary install location and working). When I changed to /data/db
(EBS volume) I was getting 'errno:13 Permission denied'.
- First I ran
sudo service mongodb stop
. - Then I used
ls -la
to see what group & owner mongodb assigned to/var/lib/mongodb
(existing path) and I changed the/data/db
(new path) withchown
andchgrp
to match. (example:sudo chown -R mongodb:mongodb /data/db
) - Then I updated the path in
etc/mongodb.conf
to/data/db
and deleted the old mongo files in/var/lib/mongodb
directory. - Then I ran
sudo service mongodb start
and waited about a minute. If you try to connect to 27017 immediately you won't be able to. - After a minute check
/data/db
(EBS volume) and mongo should have placed a journal, mongod.lock, local.ns, local.0, etc. If not trysudo service mongodb restart
and check a minute later.
I just spent over a hour with this. Changing the group and deleting the old files is probably not necessary, but that's what worked for me.
This is a great video about mounting a ebs volume to ec2 instance:
http://www.youtube.com/watch?v=gBII3o3BofU
In my case (AWS EC2 instance, Ubuntu) helped:
$ sudo mkdir -p /data/db/
$ sudo chown `USERNAME` /data/db
And after that everything worked fine.