Ответ 1
sudo chown -R <your-username> /data/db
Какой пользователь запускает mongod? Вы запускаете его с помощью обычного входа?
Я загрузил самую новую версию mongodb и переместил и переименовал файл в mongodb в каталог usr/local/mongodb
. Когда я пытаюсь запустить mongod, я получаю следующую ошибку:
`./bin/mongod --help` for help and startup options
Sun Apr 15 18:08:25 [initandlisten] MongoDB starting : pid=8801 port=27017 dbpath=/data/db/ 64-bit host=Hanss-MacBook-Air.local
Sun Apr 15 18:08:25 [initandlisten] db version v2.0.4, pdfile version 4.5
Sun Apr 15 18:08:25 [initandlisten] git version: 329f3c47fe8136c03392c8f0e548506cb21f8ebf
Sun Apr 15 18:08:25 [initandlisten] build info: Darwin erh2.10gen.cc 9.8.0 Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 i386 BOOST_LIB_VERSION=1_40
Sun Apr 15 18:08:25 [initandlisten] options: {}
Sun Apr 15 18:08:25 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /data/db/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
Sun Apr 15 18:08:25 dbexit:
Sun Apr 15 18:08:25 [initandlisten] shutdown: going to close listening sockets...
Sun Apr 15 18:08:25 [initandlisten] shutdown: going to flush diaglog...
Sun Apr 15 18:08:25 [initandlisten] shutdown: going to close sockets...
Sun Apr 15 18:08:25 [initandlisten] shutdown: waiting for fs preallocator...
Sun Apr 15 18:08:25 [initandlisten] shutdown: lock for final commit...
Sun Apr 15 18:08:25 [initandlisten] shutdown: final commit...
Sun Apr 15 18:08:25 [initandlisten] shutdown: closing all files...
Sun Apr 15 18:08:25 [initandlisten] closeAllFiles() finished
Sun Apr 15 18:08:25 [initandlisten] shutdown: removing fs lock...
Sun Apr 15 18:08:25 [initandlisten] couldn't remove fs lock errno:9 Bad file descriptor
Sun Apr 15 18:08:25 dbexit: really exiting now
sudo chown -R <your-username> /data/db
Какой пользователь запускает mongod? Вы запускаете его с помощью обычного входа?
То же, что и "Джо Фрамбаха", но немного более дружелюбный, чтобы вырезать и вставить сразу.
sudo chown -R $(whoami) /data/db
systemctl запускается, потому что init- script для mongod передает этот файл, как и большинство других:
. /etc/rc.d/init.d/functions
Блок с комментариями chkconfig используется для определения config и pid файла:
# config: /etc/my-mongod.conf
# pidfile: /var/run/mongo/mongo.pid
Но этот путь должен совпадать с тем, что у вас есть в config dbpath. Итак, это в файле /etc/my -mongod.conf
dbpath = /home/mongodb/2.0.5/data
Совместимо с этим комментарием в /etc/init.d/mongod
# pidfile: /home/mongodb/2.0.5/data/mongod.lock
получил ту же ошибку, в Windows с правами администратора была решена проблема.
Команда ниже работала для меня:
sudo chown -R `id -u` /data/db