Назад | Перейти на главную страницу

Не могу запустить mongodb

Я установил MongoDb на Ubuntu и смог запустить его, используя sudo service mongod start. Затем мне пришлось перезапустить его, поскольку я изменил файл конфигурации. Теперь я не могу запустить его снова. Когда я бегу sudo service mongod start, он просто ничего не говорит (но я не могу подключиться, используя mongo). И в журнале написано: 2018-06-06T18:45:49.279+0000 I STORAGE [initandlisten] exception in initAndListen: IllegalOperation: Attempted to create a lock file on a read-only directory: /var/lib/mongodb, terminating

Вот разрешения: ubuntu@ip-172-31-24-92:~$ stat /var/lib/mongodb Access: (0755/drwxr-xr-x) Uid: ( 1000/ ubuntu) Gid: ( 116/ mongodb)

Итак, как мне запустить его снова?

Дополнительный вопрос: как заставить команду выводить фактическую ошибку, чтобы мне не приходилось каждый раз искать ее в журнале?

P.S. Я давно пользуюсь Windows, только изучаю Linux.

Прежде всего, добро пожаловать в Linux!

Во-вторых, я предполагаю, что в этом случае mongodb запускается как пользователь mongodb

Если это так, то пользователю mongodb необходимо разрешение на запись в каталог.

Учитывая ваши текущие разрешения: владелец ubuntu которые могут rwx читать, писать и выполнять, пока группа mongodb который может только r-x читать, исполнять. Поскольку пользователь mongodb находится в группе mongodb, но не владеет файлом, он не может писать.

Access: (0755/drwxr-xr-x)  Uid: ( 1000/  ubuntu)   Gid: (  116/ mongodb)

Чтобы решить эту проблему, либо сделайте mongodb владельцем sudo chown mongodb:mongodb -R /var/lib/mongodb или пусть группа тоже пишет sudo chmod 775 -R /var/lib/mongodb

Предполагая, что вы установили сервер mongodb стандартным методом в стандартной системе Linux, вам, вероятно, потребуется перезапустить службу с помощью команды systemctl (SystemD) или service (upstart).

SystemD: sudo systemctl restart mongodb или sudo systemctl restart mongod

Выскочка: sudo service mongod restart

Если вы используете SystemD, вы можете проверить статус своей службы с помощью

sudo systemctl status mongodb или sudo systemctl status mongod

И вы можете просматривать журналы своей службы с помощью

sudo journalctl -u mongodb или sudo journalctl -u mongod