MongoDB: не удалось открыть /data/db/yourdb.ns errno: 13 Отказано в доступе
Запуская сервер MongoDB, он показывает ошибку «Отказано в доступе» в одной из баз данных и автоматически выключает сервер.
$ mongod
Fri Mar 8 22:54:46 [initandlisten] MongoDB starting : pid=13492
port=27017 dbpath=/data/db/ 64-bit host=Yongs-MacBook-Air.local
//...
Fri Mar 8 22:54:46 [initandlisten] journal dir=/data/db/journal
Fri Mar 8 22:54:46 [initandlisten] recover : no journal files present, no recovery needed
Fri Mar 8 22:54:46 [initandlisten] couldn't open /data/db/yourdb.ns errno:13 Permission denied
Fri Mar 8 22:54:46 [initandlisten] error couldn't open file /data/db/yourdb.ns terminating
Fri Mar 8 22:54:46 dbexit:
Fri Mar 8 22:54:46 [initandlisten] shutdown: going to close listening sockets...
Fri Mar 8 22:54:46 [initandlisten] shutdown: going to flush diaglog...
Fri Mar 8 22:54:46 [initandlisten] shutdown: going to close sockets...
Fri Mar 8 22:54:46 [initandlisten] shutdown: waiting for fs preallocator...
Fri Mar 8 22:54:46 [initandlisten] shutdown: lock for final commit...
Fri Mar 8 22:54:46 [initandlisten] shutdown: final commit...
Fri Mar 8 22:54:46 [initandlisten] shutdown: closing all files...
Fri Mar 8 22:54:46 [initandlisten] closeAllFiles() finished
Fri Mar 8 22:54:46 [initandlisten] journalCleanup...
Fri Mar 8 22:54:46 [initandlisten] removeJournalFiles
Fri Mar 8 22:54:46 [initandlisten] shutdown: removing fs lock...
Fri Mar 8 22:54:46 dbexit: really exiting now
Решение
Сообщение об ошибке показывает, что у вас нет разрешения на доступ к базе данныхyourdb.ns. Проверьте каталог данных MongoDB/data/db/, база данныхyourdb.ns принадлежит пользователю root.
$ ls -ls /data/db
0 drwxr-xr-x 2 example wheel 68 Mar 8 22:54 journal
131072 -rw------- 1 root wheel 67108864 Mar 7 17:01 yourdb.0
262144 -rw------- 1 root wheel 134217728 Mar 7 16:15 yourdb.1
32768 -rw------- 1 root wheel 16777216 Mar 7 17:01 yourdb.ns
$whoami
example
Чтобы это исправить, назначьте разрешение для базы данных.
$ sudo chown -R example /data/db
$ ls -ls /data/db
0 drwxr-xr-x 2 example wheel 68 Mar 8 22:54 journal
131072 -rw------- 1 example wheel 67108864 Mar 7 17:01 yourdb.0
262144 -rw------- 1 example wheel 134217728 Mar 7 16:15 yourdb.1
32768 -rw------- 1 example wheel 16777216 Mar 7 17:01 yourdb.ns