Ошибка Connection refused to MongoDB errno 111 может появится в разных ситуациях, у неё могут быть различные причины. Поэтому рассмотрим разные варианты решения.
1. Удаление файла mongod.lock
Одной из вероятных причин может быть файл mongod.lock, который по каким-то причинам не был удалён программой автоматически. Вы можете сделать это и перезапустить службу (перезапуск службы показан на примере для Debian и производных):
sudo rm /var/lib/mongodb/mongod.lock sudo service mongodb restart
2. Настройка bind_ip = localhost в /etc/mongod.conf
При внешнем подключении нужно обязательно в файле /etc/mongod.conf изменить значение директивы bind_ip на
bind_ip = 0.0.0.0
Можно просто закомментировать эту строку.
Даже при внутреннем подключении может провялятся ошибка Connection refused to MongoDB errno 111, то попробуйте заменить bind_ip = localhost на
bind_ip = 127.0.0.1
3. Нет места для размещения базы данных
Эта же самая ошибка может происходить по весьма тривиальной причине – недостаточно место для размещения БД. Проверить количество свободного пространства на жёстком диске можно командой:
df -h
Решением в этом случае является увеличение свободного места или перенос базы данных в другое место, для этого в файле /etc/mongodb.conf замените значение директивы
dbpath = /var/lib/mongodb
4. Неверные права на директорию /var/lib/mongodb
В некоторых ситуациях, к примеру, при переносе файлов БД на другой сервер и размещении их в каталог /var/lib/mongodb под учётной записью суперпользователя, может получится так, что владельцем каталога /var/lib/mongodb (в котором хранятся базы данных) будет не mongod. Чтобы это исправить нужно выполнить команды вида:
chown -R mongod:mongod <директория с БД MongoDB> chmod 600 <директория с БД MongoDB>
Если вы не меняли значение директории с БД по умолчанию, то команды будут такими:
chown -R mongod:mongod /etc/mongodb.conf chmod 600 /etc/mongodb.conf
5. Проблемы с SELinux
В этом случае вам должны помочь команды:
sudo chcon -Rv --type=mongod_log_t $logpath sudo chcon -Rv --type=mongod_var_lib_t $dbpath
Возможно, здесь перечислены далеко не все причины ошибки «Connection refused to MongoDB errno 111», но, по крайней мере, рассмотрены самые частые с конкретными решениями.
Кстати, о том, как правильно делать резервные копии БД MongoDB можно почитать в официальной документации (на английском):
Связанные статьи:
- Как отключить SELinux (86.9%)
- Решение проблемы с ошибкой fatal error: stdlib.h: Нет такого файла или каталога (50.9%)
- Решение проблемы с ошибкой make: x86_64-w64-mingw32-gcc: Команда не найдена (50.9%)
- Решение проблемы с ошибкой fatal error: ffi.h: Нет такого файла или каталога (50.9%)
- Решение проблемы с ошибкой ValueError: --enable-jpeg requested but jpeg not found, aborting. (50.9%)
- Как в Linux LMDE настроить вход без ввода пароля (RANDOM - 50%)