Mongodb'a bağlanılamıyor errno: 61 Bağlantı reddedildi


91

Yakın zamanda Homebrew ile mongodb-2.6.0'ı kurdum . Başarıyla kurulduktan sonra, mongokomutu kullanarak bağlanmayı denedim . Bağlanmama izin vermeyen aşağıdaki hataları alıyorum:

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

1
Mongod servisinin çalıştığından emin misin? Conf dosyanızda hangi yapılandırma seçeneklerine sahipsiniz?
ffflabs

Sudo apt-get yüklemek için kullandınız mı? Bununla ilgili sorun yaşayan insanlar hakkında bir şeyler okudum ... bunun yerine MongoDB sitesi aracılığıyla kaldırmayı ve indirmeyi deneyin .
Hassan

Homebrew ile kurdum, resmi web sitesindeki talimatlar bir .config dosyası kurmam gerektiğini belirtmedi. Sadece indirdim ve yukarıdaki hatalara neden olan 'mongoose' komutunu çalıştırdım.
Michael

Günlüklerinizi kontrol edin, genellikle /var/logs/mongodbdoğru hatırlıyorsam.
AlbertEngelB

İndirerek yeniden yükledim ve dosyayı açtım. 'Mongo' çalıştırıyorum ve hala aynı hataları alıyorum.
Michael

Yanıtlar:


277

Bu, mongodb servisi mac üzerinde çalışmadığında olabilir. Başlamak için denedim

brew services start mongodb

ve işe yaradı.

Düzenleme: Homebrew'deki bu PR ile ilgili tartışmaya göre: https://github.com/Homebrew/homebrew/issues/30628

brew serviceskullanımdan kaldırıldı, SO'ya baktım ve bu cevapların şimdi şu soruyu cevapladığını gördüm: Linux / OS X üzerinde bir mongod hizmeti başlatmanın doğru yolu nedir?


8
Şu komutla ilgili bir hata alıyorum: "Bilinmeyen komut: hizmetler"
ZeMoon

7
"brew services" artık desteklenmiyor: github.com/Homebrew/homebrew/issues/32006
Vitaly

7
Mongo yerine sudo mongod'u denedim ve başladı! Mongo kabuğuna erişmek için yeni kabuk penceresi açtım ve mongo yazdım ve işe yaradı !! Bu blogda
Ali Raza Bhayani

1
Demleme hizmetleri artık Mac OS X Yosemite'imde desteklenmiyor. sudo mongodmongodb'u başlattı ve ardından mongo komutu çalıştı. @Ali Raza Bhayani teşekkürler.
psun

2
Bu çözüm için teşekkürler !! Brew servis komutu benim için Mac OS X Sierra'mda çalıştı.
Jcc.Sanabria

32

Tam olarak aynı sorunla karşılaştım ve işte bu hatayı önlemek için adım adım açık bir işlem.

Adım 1 - Kurulum (MongoDB'yi zaten kurduysanız bu adımı takip etmeyin):

brew update
brew install mongodb

Adım 2 - Mongo Daemon'u çalıştırın:

mkdir -p /data/db
sudo mongod

Adım 3 - Mongo Shell Arayüzünü Çalıştırın:

mongo

Bu sırada mongokomutu hatasız çalıştırabildim . Ayrıca bu blogda hata izini ve çözümünü de detaylandırdım .


1
Buna MongoDB resmi sayfasında da başvurulmaktadır: docs.mongodb.org/v2.2/tutorial/install-mongodb-on-os-x/…
Paulo Oliveira

bu benim için bir kez çalıştı ... ama sonra düştü: / Bu hile yaptı: stackoverflow.com/a/22623543/1177832
danwild

Bu, savaşı kazanmanın ve savaşı kaybetmenin iyi bir yoludur. Hizmetleri kök olarak çalıştırmayın.
Miles Erickson

22

Sorununuzu çözmek için "brew install mongodb" kullandıktan sonra size verilen talimatları izlemeniz gerekir.

Girişte mongodb'yi başlatmak için:

ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents

Sonra mongodb'u şimdi yüklemek için:

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist

Veya launchctl istemiyorsanız / buna ihtiyacınız varsa, çalıştırabilirsiniz:

mongod --config /usr/local/etc/mongod.conf

Son komutu çalıştırabilirsin, ama benim için işe yaramadı ve ikinci komutu çalıştırmam gerekiyordu. Beni gelecekte kurtarmak için. Ben de ilk komutu çalıştırdım. Umarım yardımcı olur!

DÜZENLE Hrishi'nin kullanma yöntemi brew services mongodb startbenim için iyi çalıştı. Bunu mongo belgelerine eklemeleri gerektiğini düşünüyorum.


Son komutu kullandım ve tarayıcımda localhost / 27017'yi ziyaret ettim, ekranda 'MongoDB'ye yerel sürücü bağlantı noktasında HTTP üzerinden erişmeye çalışıyorsunuz gibi görünüyor.' Bu doğru görünmüyor ...
Michael

Mongo şimdi koşuyor değil mi? Kabuğa mongo yazabilirsiniz ve artık bağlantı reddedildi mesajını almıyorsunuz? Tarayıcıdan mongo'ya erişmeyeceksiniz, onunla cli'den çalışmak isteyeceksiniz.
jh3y

Hayır, 'mongod --config /usr/local/etc/mongod.conf' yazdıktan sonra kabukta hiçbir komut çalışmayacak. Bu basit bir boş komut istemidir. Homebrew kullanmadan yeniden durdum ve zip dosyasını web sitesinden indirdim, çalıştırılabilir dosyaları / usr / local / bin konumuna taşıdım, ancak şimdi hala aynı hata mesajlarını alıyorum.
Michael

evet son komut da benim için asılıydı. Ben sadece ilk ikisini koşardım ve sen iyi olmalısın. Kilitlendiğinde, sadece vur ctrl + cve mongoardından dene .
jh3y

Hmm ... Hala çalışmıyor. MongoDB forumlarında yayınlayacağım. Yardım için teşekkürler.
Michael

16

Başka bir sekmede, mongo kabuğunu şu şekilde başlatabilirsiniz:

mongod

Ardından önceki sekmeye dönün ve tekrar deneyin. Mongoshell'inizi kurmakta sorun yaşıyorsanız, mongo kabuğundaki şu bağlantıya bakın : http://docs.mongodb.org/manual/tutorial/manage-mongodb-processes/ veya mongodb yüklemeyle ilgili şu bağlantı: http: / /docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/


Bu benim için yaptı. Mongo'yu çalıştırmadan önce servis mongodunu başlatmayı tamamen göz ardı ettim. Teşekkürler!
Matt Welander

7

mongodKomut satırından ararken aynı sorunu yaşıyordum .

Bunun yerine arayarak çözdüm sudo mongod.


Hizmetleri kök olarak çalıştırmayın.
Miles Erickson

4

Aynı hatayı aldım ama farklı bir temel neden var. Soruna başkasının karışması durumunda çözümü buraya göndereceğimi düşündüm. Bu hatayı, Mac'im çalışırken hatalı bir şekilde kapatıldıktan sonra aldım mongorestore -d foo dump/foo/.

tl; dr : Ben hasarlı kaldırarak sorunu giderildi foo.nsbirlikte dosyayı foo.0, foo.1... benim veri klasöründen /usr/local/var/mongodb/. Daha sonra mongo sunucusunu ile yeniden başlattım ve brew services restart mongodbnormale döndüm.

Ayrıntılar : mongodb hizmetini brew veya launchctl aracılığıyla başlatmaya veya yeniden başlatmaya çalıştıktan sonra bile hatayı almaya devam ettim. Sonunda koştum mongod --dbpath /usr/local/var/mongodb ve hizmetin gerçekten başlamadığını gördüm ve başlangıç ​​sırası şu hatayı içeriyordu: [initandlisten] bad .ns file: /usr/local/var/mongodb/foo.ns [initandlisten] User Assertion: 10079:bad .ns file length, cannot open database Bozuk .nsdosyadan ve diğer veri dosyalarından kurtuldum ve hizmeti bir sonraki başlatışımda gitmeye hazırdım .


1
Tek pişmanlığım, verebileceğim tek bir olumlu oyum var: diğer tüm yanıtlar, varsayılan demleme yapılandırmalarının dbs'leri / usr / local / var / mongodb içine koyduğu gerçeğini görmezden geliyor!
premiumFrye

1
Annnddd Mongo az önce tekrar düştü, bu yüzden şimdi bu süreci tekrar yaşamak zorunda kaldım. İyi ki cevabınızı tekrar bulabilmek için
oy verdim

4

osx'te benim için eski çalışan örneği öldürmek zorunda kaldım, ardından yeniden başlatma işe yaradı.

$>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


1

Homebrew ile mongo 3.6'ya yükselttikten sonra bu hatayı aldım.

Günlük /usr/local/var/log/mongodb/mongo.log, mesajı içeriyordu shutting down with code:62. Bu hata kodu, mevcut veritabanının mongo'nun mevcut sürümüyle çalışamayacak kadar eski olduğu anlamına gelir.

Başka bir SO sorusunda 2 çözüm buldum :

Yükseltmeyi seçtim. Benim durumumda bu, 3.4'e düşürmem, mongo konsolunda bir komut çalıştırmam ve ardından tekrar yükseltmem gerektiği anlamına geliyordu. Mongo, her seferinde bir ana sürümü yükseltmenizi gerektirir, bu nedenle ne kadar geride olduğunuza bağlı olarak ek adımlar olabilir. Dokümanlar size rehberlik edecek.

brew switch* Ve brew services restartkomutlar nispeten acısız sürümleri arasında takas yaptı.


0

MongoDB'yi zaten yüklediyseniz, önce mongod'u bir sudo kullanıcısı olarak çalıştırmayı deneyin, mongod'u süper kullanıcı olarak çalıştırmadığım için sorunla karşı karşıyaydım.

Her iki komut için de ( mongod ve sudo mongod ) o / p'yi en altına yapıştırdım , bunu da kontrol edebilirsiniz ama

Önce bunu dene

sudo mongod

bu değil

mongod

Aşağıdaki komutu sırayla çalıştırarak MongoDB'yi MAC OS X Sierra 10.12.6'ma kurmuştum.

brew update
brew install mongodb --devel
brew services start mongodb

daha sonra, mongod işleminin verileri yazacağı bir dizin oluşturdu, bu, mongod işleminin varsayılan olarak aldığı için isteğe bağlıdır, https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os adresindeki bu yararlı kılavuza bakın -x /

sudo mkdir -p /data/db

Sonunda mongod süreci şu şekilde başladı

sudo mongod

Oputput of mongod (başarısız) ve sudo mongod (başarılı) komutları terminalimde.

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

Sonra MongoDB'yi sorgulamaya başlamak için yeni terminal açtım , işe yaradı.

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
>

Bu kadar.


0

Aynı sorunu yaşadım ve günlük dosyasına bakarken şunu gördüm:

{2019-03-09T11:57:32.136-0500 I STORAGE  [initandlisten] 
exception in initAndListen: NonExistentPath: 
Data directory /usr/local/var/mongodb not found., terminating}

bu yüzden oluşturduğum dizini /usr/local/var/mongodb brew servislerini yeniden başlat mongodb komutunu verdi mongo konsolunu açabildim.


-1

Tahminimce "mongo" komutuyla teste erişmeye çalışırken çalışan bir veritabanınız yok.

Önce bu komutu terminalde çalıştırın:

mongod 

Ardından başka bir terminal penceresi açın ve çalıştırın:

mongo

Şimdi her şey çalışıyor olmalı.


-1

Benzer bir hata mongod'u çalıştırmaya çalışırken "sudo rm /data/db/mongod.lock" dosyasını silerek çözüldü. Şimdi mongod ve sonra mongo çalıştırabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.