Рішення проблеми з помилкою 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 можна почитати в офіційній документації (англійською):

Пов'язані статті: