Недавно я установил mongodb-2.6.0 с Homebrew . После успешной установки я попытался подключиться с помощью mongo
команды. Я получаю следующие ошибки, которые не позволяют мне подключиться:
Failed to connect to 127.0.0.1:27017, reason: errno:61 Connection refused
Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed at src/mongo/shell/mongo.js:146
exception: connect failed
/var/logs/mongodb
если я правильно помню.Ответы:
Это может произойти, когда служба mongodb не запущена на Mac. Для начала попробовал
и это сработало.
Изменить: Согласно обсуждению этого PR на доморощенном: https://github.com/Homebrew/homebrew/issues/30628
brew services
устарел, я посмотрел на SO и нашел, что эти ответы теперь отвечают на вопрос: как правильно запустить службу mongod в Linux / OS X?источник
sudo mongod
запустил mongodb, а затем команда mongo сработала. Спасибо @Ali Raza Bhayani.Я столкнулся с той же проблемой, и вот четкий пошаговый процесс, чтобы избежать этой ошибки.
Шаг 1 - Установка (не выполняйте этот шаг, если вы уже установили MongoDB):
Шаг 2 - Запустите Mongo Daemon:
Шаг 3 - Запустите интерфейс оболочки Mongo:
В этой последовательности я смог выполнить
mongo
команду без ошибок. Я также подробно описал трассировку ошибки и ее решение в этом блоге .источник
Чтобы решить вашу проблему, вам необходимо следовать инструкциям, которые вам дает команда brew после использования команды «brew install mongodb».
Чтобы запустить mongodb при входе в систему:
ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents
Затем, чтобы загрузить mongodb сейчас:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
Или, если вы не хотите / не нуждаетесь в launchctl, вы можете просто запустить:
Возможно, вы сможете просто запустить эту последнюю команду, но у меня это не сработало, и мне нужно было запустить вторую команду. Чтобы спасти меня в будущем. Я тоже только что запустил первую команду. Надеюсь, это поможет!
РЕДАКТИРОВАТЬ Метод использования Хриши
brew services mongodb start
работал у меня хорошо. Я думаю, они должны включить это в документы mongo.источник
ctrl + c
и попробуйтеmongo
после этого.На другой вкладке вы можете запустить оболочку mongo с помощью
Затем вернитесь на предыдущую вкладку и попробуйте еще раз. Если у вас возникли проблемы с настройкой mongoshell, перейдите по этой ссылке в оболочке mongo: http://docs.mongodb.org/manual/tutorial/manage-mongodb-processes/ или по этой ссылке для установки mongodb: http: / /docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/
источник
У меня была такая же проблема при звонке
mongod
из командной строки.Я решил это, позвонив вместо этого
sudo mongod
.источник
У меня была та же ошибка, но другая основная причина. Думал, что выложу решение здесь, если кто-то еще столкнется с проблемой. Я получил эту ошибку после того, как мой Mac неправильно выключился во время работы
mongorestore -d foo dump/foo/
.ТЛ; др : я исправил проблему, удалив поврежденный
foo.ns
файл вместе сfoo.0
,foo.1
... из моей папки данных/usr/local/var/mongodb/
. Затем я перезапустил сервер mongobrew services restart mongodb
и вернулся в нормальное состояние.Подробности : я продолжал получать ошибку даже после попытки запустить или перезапустить службу mongodb через brew или launchctl. В конце концов я побежал
mongod --dbpath /usr/local/var/mongodb
и увидел, что служба на самом деле не запускается, а последовательность запуска включала следующую ошибку:[initandlisten] bad .ns file: /usr/local/var/mongodb/foo.ns [initandlisten] User Assertion: 10079:bad .ns file length, cannot open database
я избавился от плохого.ns
файла и остальных файлов данных, и в следующий раз, когда я запустил службу, все было в порядке. .источник
для меня в osx мне пришлось убить старый запущенный экземпляр, после чего сработал перезапуск.
$>ps -aef | grep mongo 502 8047 1 0 11:52AM ?? 0:00.23 /usr/local/opt/mongodb/bin/mongod --config /usr/local/etc/mongod.conf $>sudo kill 8047 $>sudo mongod
источник
Для всех, кто здесь ищет ответ на этот вопрос после того, как ваш Mac обновится до OS Catalina.
бегать
подробнее см. здесь: https://medium.com/@semmons245/arghhhh-thanks-to-the-catalina-os-update-this-now-needs-changing-987f416ebcbe
источник
Я получил эту ошибку после обновления до mongo 3.6 с помощью homebrew.
Журнал
/usr/local/var/log/mongodb/mongo.log
содержал сообщениеshutting down with code:62
. Этот код ошибки означает, что существующая база данных слишком стара для работы с текущей версией mongo.Я нашел 2 решения в другом вопросе SO :
/usr/local/var/mongodb
)Я выбрал обновление. В моем случае это означало, что мне пришлось перейти на версию 3.4, запустить команду в консоли mongo, а затем снова выполнить обновление. Mongo требует, чтобы вы обновляли одну основную версию за раз, поэтому в зависимости от того, как давно вы были, могут быть дополнительные шаги. Документы помогут вам.
brew switch
* Иbrew services restart
команды сделали обмен между версиями относительно безболезненных.источник
Если вы уже установили MongoDB, сначала попробуйте запустить mongod от имени пользователя sudo, я столкнулся с проблемой из-за того, что mongod не запускался в качестве суперпользователя.
Я вставил o / p для обеих команд ( mongod и sudo mongod ) в самом низу, вы тоже можете это проверить, но
Сначала попробуйте это
не этот
Я установил MongoDB на свой MAC OS X Sierra 10.12.6, последовательно выполнив следующую команду.
затем создал каталог, в который процесс mongod будет записывать данные, это необязательно, поскольку процесс mongod принимает его по умолчанию, см. это полезное руководство по адресу https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os -Икс/
Наконец, начал процесс mongod следующим образом
Вывод команд mongod (сбой) и sudo mongod (успешно) на моем терминале.
MacBook-Pro-2:appscheck admin$ mongod 2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] MongoDB starting : pid=2698 port=27017 dbpath=/data/db 64-bit host=MacBook-Pro-2.local 2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] db version v3.4.10 2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] git version: 078f28920cb24de0dd479b5ea6c66c644f6326e9 2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2n 7 Dec 2017 2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] allocator: system 2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] modules: none 2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] build environment: 2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] distarch: x86_64 2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] target_arch: x86_64 2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] options: {} 2017-12-10T08:12:06.166+0530 I STORAGE [initandlisten] exception in initAndListen: 20 Attempted to create a lock file on a read-only directory: /data/db, terminating 2017-12-10T08:12:06.166+0530 I NETWORK [initandlisten] shutdown: going to close listening sockets... 2017-12-10T08:12:06.166+0530 I NETWORK [initandlisten] shutdown: going to flush diaglog... 2017-12-10T08:12:06.167+0530 I CONTROL [initandlisten] now exiting 2017-12-10T08:12:06.167+0530 I CONTROL [initandlisten] shutting down with code:100 MacBook-Pro-2:appscheck admin$ sudo mongod Password: 2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] MongoDB starting : pid=2700 port=27017 dbpath=/data/db 64-bit host=MacBook-Pro-2.local 2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] db version v3.4.10 2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] git version: 078f28920cb24de0dd479b5ea6c66c644f6326e9 2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2n 7 Dec 2017 2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] allocator: system 2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] modules: none 2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] build environment: 2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] distarch: x86_64 2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] target_arch: x86_64 2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] options: {} 2017-12-10T08:12:14.084+0530 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=7680M,session_max=20000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0), 2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] 2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database. 2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted. 2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended. 2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] 2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] 2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000 2017-12-10T08:12:14.560+0530 I FTDC [initandlisten] Initializing full-time diagnostic data capture with directory '/data/db/diagnostic.data' 2017-12-10T08:12:14.707+0530 I INDEX [initandlisten] build index on: admin.system.version properties: { v: 2, key: { version: 1 }, name: "incompatible_with_version_32", ns: "admin.system.version" } 2017-12-10T08:12:14.707+0530 I INDEX [initandlisten] building index using bulk method; build may temporarily use up to 500 megabytes of RAM 2017-12-10T08:12:14.719+0530 I INDEX [initandlisten] build index done. scanned 0 total records. 0 secs 2017-12-10T08:12:14.720+0530 I COMMAND [initandlisten] setting featureCompatibilityVersion to 3.4 2017-12-10T08:12:14.720+0530 I NETWORK [thread1] waiting for connections on port 27017
Затем я открыл новый терминал, чтобы начать запросы к MongoDB , это сработало.
MacBook-Pro-2:appscheck admin$ mongo MongoDB shell version v3.4.10 connecting to: mongodb://127.0.0.1:27017 MongoDB server version: 3.4.10 Welcome to the MongoDB shell. For interactive help, type "help". For more comprehensive documentation, see http://docs.mongodb.org/ Questions? Try the support group http://groups.google.com/group/mongodb-user Server has startup warnings: 2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] 2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database. 2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted. 2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended. 2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] 2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] 2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000 > show dbs; admin 0.000GB local 0.000GB > use practice switched to db practice >
Вот и все.
источник
У меня была такая же проблема, и, просмотрев файл журнала, я увидел следующее:
{2019-03-09T11:57:32.136-0500 I STORAGE [initandlisten] exception in initAndListen: NonExistentPath: Data directory /usr/local/var/mongodb not found., terminating}
поэтому я создал каталог,
/usr/local/var/mongodb
выполнив команду brew services restart mongodb, я смог открыть консоль mongo.источник
монго
источник
Моя аналогичная ошибка решается путем удаления файла «sudo rm /data/db/mongod.lock» при попытке запустить mongod. Теперь вы можете запустить mongod, а затем mongo.
источник