Рішення проблеми з помилкою connection refused to mongodb errno 111
Помилка Connection refused to MongoDB errno 111 може з'явиться в різних ситуаціях, у неї можуть бути різні причини. Тому розглянемо різні варіанти вирішення.
1. Видалення файлу mongod.lock
Однією з ймовірних причин може бути файл mongod.lock, який з якихось причин не був видалений програмою автоматично. Ви можете зробити це і перезапустити службу (перезапуск служби показаний на прикладі для Debian і похідних):
2. Налаштування bind_ip = localhost в /etc/mongod.conf
При зовнішньому підключенні потрібно обов'язково в файлі /etc/mongod.conf змінити значення директиви bind_ip на
Навіть при внутрішньому підключенні може провялятся помилка Connection refused to MongoDB errno 111, то спробуйте замінити bind_ip = localhost на
3. Немає місця для розміщення бази даних
Ця ж сама помилка може відбуватися за досить тривіальної причини - недостатньо місце для розміщення БД. Перевірити кількість вільного простору на жорсткому диску можна командою:
Рішенням в цьому випадку є збільшення вільного місця або перенесення бази даних в інше місце, для цього в файлі /etc/mongodb.conf замініть значення директиви
4. Невірні права на директорію / var / lib / mongodb
У деяких ситуаціях, наприклад, при перенесенні файлів БД на інший сервер і розміщенні їх в каталог / var / lib / mongodb під обліковим записом суперкористувача, може вийде так, що власником каталогу / var / lib / mongodb (в якому зберігаються бази даних) буде не mongod. Щоб це виправити потрібно виконати команди виду:
Якщо ви не змінювали значення директорії з БД за замовчуванням, то команди будуть такими:
5. Проблеми з SELinux
В цьому випадку вам повинні допомогти команди:
Можливо, тут перераховані далеко не всі причини помилки «Connection refused to MongoDB errno 111», але, по крайней мере, розглянуті найчастіші з конкретними рішеннями.
До речі, про те, як правильно робити резервні копії БД MongoDB можна почитати в офіційній документації (англійською):