Saya baru saja menginstal mongodb-2.6.0 dengan Homebrew . Setelah berhasil diinstal, saya mencoba menghubungkan menggunakan mongo
perintah. Saya menerima kesalahan berikut yang tidak memungkinkan saya untuk terhubung:
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
jika saya ingat dengan benar.Jawaban:
Itu bisa terjadi ketika layanan mongodb tidak berjalan di mac. Untuk memulainya, saya mencoba
dan itu berhasil.
Edit: Menurut diskusi tentang PR ini di homebrew: https://github.com/Homebrew/homebrew/issues/30628
brew services
sudah usang, saya melihat-lihat SO dan menemukan jawaban ini sekarang menjawab pertanyaan: Apa cara yang benar untuk memulai layanan mongod di linux / OS X?sumber
sudo mongod
mulai mongodb dan kemudian perintah mongo bekerja. Terima kasih @Ali Raza Bhayani.Saya mengalami masalah yang sama persis dan berikut adalah proses langkah demi langkah yang jelas untuk menghindari kesalahan ini.
Langkah 1 - Instalasi (Jangan ikuti langkah ini jika Anda telah menginstal MongoDB):
Langkah 2 - Jalankan Mongo Daemon:
Langkah 3 - Jalankan Mongo Shell Interface:
Dalam urutan ini, saya dapat menjalankan
mongo
perintah tanpa kesalahan apa pun. Saya juga telah merinci jejak kesalahan dan solusinya di blog ini .sumber
Untuk mengatasi masalah Anda, Anda harus mengikuti petunjuk yang kemudian diberikan kepada Anda oleh brew setelah Anda menggunakan "brew install mongodb".
Agar launchd memulai mongodb saat login:
ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents
Kemudian untuk memuat mongodb sekarang:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
Atau, jika Anda tidak ingin / membutuhkan launchctl, Anda dapat menjalankan:
Anda mungkin bisa menjalankan perintah terakhir itu, tetapi itu tidak berhasil untuk saya dan saya perlu menjalankan perintah kedua. Untuk menyelamatkanku di masa depan. Saya baru saja menjalankan perintah pertama juga. Semoga membantu!
EDIT Metode penggunaan Hrishi
brew services mongodb start
bekerja dengan baik untuk saya. Saya pikir mereka harus memasukkan ini ke dalam dokumen mongo.sumber
ctrl + c
dan cobamongo
setelah itu.Di tab lain, Anda dapat memulai cangkang mongo dengan
Kemudian kembali ke tab sebelumnya dan coba lagi. Jika Anda mengalami masalah saat menyiapkan mongoshell Anda, lihat tautan ini di mongo shell: http://docs.mongodb.org/manual/tutorial/manage-mongodb-processes/ atau tautan ini untuk memasang mongodb: http: / /docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/
sumber
Saya mengalami masalah yang sama saat menelepon
mongod
dari baris perintah.Saya menyelesaikan ini dengan menelepon sebagai gantinya
sudo mongod
.sumber
Saya mengalami kesalahan yang sama tetapi akar penyebabnya berbeda. Pikir saya akan memposting solusi di sini jika ada orang lain yang mengalami masalah. Saya mendapat kesalahan ini setelah Mac saya mati secara tidak benar saat saya sedang berjalan
mongorestore -d foo dump/foo/
.tl; dr : Saya tetap masalah dengan menghapus rusak
foo.ns
berkas bersama denganfoo.0
,foo.1
, ... dari folder data saya/usr/local/var/mongodb/
. Kemudian saya me-restart server mongo denganbrew services restart mongodb
dan saya kembali normal.Detail : Saya terus mendapatkan kesalahan bahkan setelah mencoba memulai atau memulai ulang layanan mongodb melalui brew atau launchctl. Akhirnya saya berlari
mongod --dbpath /usr/local/var/mongodb
dan melihat bahwa layanan tidak benar-benar dimulai, dan urutan mulai termasuk kesalahan berikut:[initandlisten] bad .ns file: /usr/local/var/mongodb/foo.ns [initandlisten] User Assertion: 10079:bad .ns file length, cannot open database
Saya menyingkirkan.ns
file buruk dan sisa file data, dan saat berikutnya saya memulai layanan, saya siap melakukannya .sumber
bagi saya di osx, saya harus mematikan instance yang berjalan lama, kemudian memulai ulang berhasil.
$>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
sumber
Bagi siapa saja yang ada di sini mencari jawaban untuk ini setelah mac Anda diperbarui ke OS Catalina
Lari
temukan info lebih lanjut di sini: https://medium.com/@semmons245/arghhhh-thanks-to-the-catalina-os-update-this-now-needs-changing-987f416ebcbe
sumber
Saya mendapat kesalahan ini setelah saya meningkatkan ke mongo 3.6 dengan homebrew.
Log
/usr/local/var/log/mongodb/mongo.log
berisi pesan tersebutshutting down with code:62
. Kode kesalahan ini berarti bahwa database yang ada terlalu tua untuk dijalankan dengan versi mongo saat ini.Saya menemukan 2 solusi dalam pertanyaan SO lainnya :
/usr/local/var/mongodb
)Saya memilih untuk meningkatkan. Dalam kasus saya, itu berarti saya harus menurunkan versi ke 3.4, menjalankan perintah di konsol mongo, lalu meningkatkan lagi. Mongo mengharuskan Anda untuk mengupgrade satu versi utama dalam satu waktu, jadi bergantung pada seberapa jauh Anda sebelumnya, mungkin ada langkah tambahan. Dokumen akan memandu Anda.
The
brew switch
* danbrew services restart
perintah membuat swapping antara versi relatif tanpa rasa sakit.sumber
Jika Anda sudah menginstal MongoDB maka pertama-tama coba jalankan mongod sebagai pengguna sudo, saya menghadapi masalah karena tidak menjalankan mongod sebagai superuser.
Saya telah menempelkan o / p untuk kedua perintah ( mongod dan sudo mongod ) di paling bawah, Anda juga dapat memeriksanya, tetapi
Pertama coba ini
bukan ini
Saya telah menginstal MongoDB di MAC OS X Sierra 10.12.6 saya dengan menjalankan perintah berikut secara berurutan.
kemudian buat direktori tempat proses mongod akan menulis data, ini opsional karena proses mongod mengambilnya secara default, lihat panduan berguna ini di https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os -x /
Akhirnya mulailah proses mongod sebagai berikut
Oputput perintah mongod (gagal) dan sudo mongod (berhasil) di terminal saya.
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
Kemudian saya membuka terminal baru untuk mulai menanyakan MongoDB , itu berhasil.
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 >
Itu dia.
sumber
Saya memiliki masalah yang sama dan saat mencari di file log saya melihat ini:
{2019-03-09T11:57:32.136-0500 I STORAGE [initandlisten] exception in initAndListen: NonExistentPath: Data directory /usr/local/var/mongodb not found., terminating}
jadi saya membuat direktori yang
/usr/local/var/mongodb
mengeluarkan perintah layanan restart mongodb saya bisa membuka konsol mongo.sumber
mongo
sumber
Kesalahan serupa saya diatasi dengan menghapus file "sudo rm /data/db/mongod.lock" ketika mencoba menjalankan mongod. Sekarang kamu dapat menjalankan mongod dan kemudian mongo.
sumber