Я установил MongoDB на виртуальную машину Debian, используя apt-get
из репозитория 10gen. Через некоторое время после установки я хотел включить аутентификацию в файле конфигурации, но когда я запустил service mongodb restart
, он остановился и отказался запускаться снова.
Я могу воспроизвести это достоверно: каждый раз, когда я бегу apt-get purge mongodb-10gen; apt-get install mongodb-10gen
сервер запускается. Тем не мение. когда я бегу service mongodb start
, это говорит
Стартовая база данных: mongodb не смогли!
Ничего не написано в mongo.log
файл или любой другой журнал, который я смог найти.
Я редактировал /etc/init.d/mongodb
убрать --background
аргумент из обращения к start-stop-daemon
и получил ошибку с трассировкой стека. Я не могу опубликовать полную трассировку стека (потому что я не могу прокрутить назад в окне терминала, чтобы получить его), но последний вызов функции перед ошибкой был какой-то функцией, связанной с получением системного языка.
Я ранее установил LANG="en_US.UTF-8"
чтобы построить несколько рубиновых камней. Я побежал unset LANG
и теперь я могу запустить MongoDB.
(Интересно то, что я тогда set LANG...
снова и перезапустил MongoDB, и он все еще работал.)
Это было похоже на трассировку стека?
https://jira.mongodb.org/browse/SERVER-9273
Это может быть случай, когда настройки Locale испорчены - я видел исправление выхода / входа в систему или прямую настройку LC_ALL
или подобное сделайте то же самое. Если вы можете выяснить, как воспроизвести его надежно, то об этом стоит сообщить, я подозреваю, что это на самом деле зависимость от повышения, а не от MongoDB, но все же стоит знать триггер и исправить проблему.