Saya baru mengenal mongodb .. ketika saya mencoba menjalankan server lokal mongodb dengan mongod
perintah gagal untuk menjalankan dan melemparkan kesalahan ini ..
/usr/lib/mongodb/mongod --help for help and startup options
Sat Jun 25 09:38:51 MongoDB starting : pid=1782 port=27017 dbpath=/data/db/ 32-bit
** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
** see http://blog.mongodb.org/post/137788967/32-bit-limitations
Sat Jun 25 09:38:51 db version v1.6.3, pdfile version 4.5
Sat Jun 25 09:38:51 git version: nogitversion
Sat Jun 25 09:38:51 sys info: Linux vernadsky 2.6.24-27-server #1 SMP Fri Mar 12 01:45:06 UTC 2010 i686 BOOST_LIB_VERSION=1_42
Sat Jun 25 09:38:51 [initandlisten] *** warning: spider monkey build without utf8 support. consider rebuilding with utf8 support
Sat Jun 25 09:38:51 [initandlisten] waiting for connections on port 27017
Sat Jun 25 09:38:51 [initandlisten] listen(): bind() failed errno:98 Address already in use for socket: 0.0.0.0:27017
Sat Jun 25 09:38:51 [initandlisten] addr already in use
Sat Jun 25 09:38:51 [initandlisten] now exiting
Sat Jun 25 09:38:51 dbexit:
Sat Jun 25 09:38:51 [initandlisten] shutdown: going to close listening sockets...
Sat Jun 25 09:38:51 [initandlisten] shutdown: going to flush oplog...
Sat Jun 25 09:38:51 [initandlisten] shutdown: going to close sockets...
Sat Jun 25 09:38:51 [initandlisten] shutdown: waiting for fs preallocator...
Sat Jun 25 09:38:51 [initandlisten] shutdown: closing all files...
Sat Jun 25 09:38:51 closeAllFiles() finished
Sat Jun 25 09:38:51 [initandlisten] shutdown: removing fs lock...
Sat Jun 25 09:38:51 dbexit: really exiting now
Saya mencoba menghapus mongod.lock
file ... Saya berlari mongod --repair
.. Saya juga mengubah izin untuk mongod.lock
file.
tapi sepertinya tidak ada yang berhasil .. itu terus menunjukkan kesalahan yang sama .. apa yang harus saya lakukan.?
Saya juga telah menginstal git versi 1.7.4.1 tetapi ia menunjukkan kesalahan nogitversion ..
Jawaban:
Mencoba:
Untuk menghentikan layanan mongodb aktif saat ini, memungkinkan Anda untuk kemudian memulai yang baru
sumber
sudo service mongodb stop
bekerja untuk saya di Ubuntu 14.10.brew services
. (via unix.stackexchange.com/questions/155715/… )Jangan bunuh proses menggunakan sinyal -9 karena akan menyebabkan kerusakan: http://www.mongodb.org/display/DOCS/Starting+and+Stopping+Mongo#StartingandStoppingMongo-SendingaUnixINTorTERMsignal
Gunakan
sudo killall -15 mongod
sebagai gantinyasumber
killall mongod
melakukan hal yang sama juga. yang-15
memberitahukillall
untuk mengirim sinyal SIGTERM, yang tidak secara default.Dalam hal ini, ketikkan perintah berikut
Anda akan melihat sesuatu yang terlihat seperti ini
Sekarang masukkan perintah kill untuk instance mongod (31936 dalam kasus ini):
sumber
berbicara sendiri.
Contoh lain dari mongod sudah berjalan dan mengalokasikan port default MongoDB yaitu 27017.
Bunuh proses lainnya atau gunakan port lain.
sumber
Cari tahu dari netstat proses mana yang menjalankan port mongodb (27017)
perintah:
Output akan menjadi:
Dalam kasus saya "6432" adalah pid, mungkin berbeda dalam kasus Anda. Kemudian bunuh proses itu menggunakan perintah berikut:
Itu dia!
sumber
Menggunakan:
Ini akan menghentikan server.
Kemudian mulai kembali
mongod
dengan:itu harus bekerja.
sumber
Anda sudah memiliki proses yang berjalan. Anda dapat membunuhnya dengan perintah:
sumber
Anda ingin melakukannya
killall -15 mongod
karena masih berjalan:Address already in use for socket: 0.0.0.0:27017
.Maka Anda bisa lari
mongod
lagi.sumber
killall mongod
?No matching processes belonging to you were found
Coba port lain jika Anda tidak dapat menemukan proses yang sedang berjalan atau mematikannya tidak berfungsi. Misalnya, coba 27018 karena standarnya adalah 27017.
Saya menemukan ini dengan perintah,
mongod --help
sumber
Saya sarankan gunakan sebagai gantinya:
$sudo service mongodb stop
Itu bisa berhasil.
sumber
Coba killall -15 mongod / killall mongod Bahkan setelah ini jika ini tidak berhasil maka hapus folder penyimpanan db dengan mengetikkan perintah berikut sudo rm -rf / data / db sudo mkdir / data / db sudo chmod 777 / data / db
sumber
OS X. Monitor Aktivitas , cari mongod , silangkan. lalu jalankan lagi mongod. masalah terpecahkan.
sumber
Buka terminal dan ketik:
Lalu masukkan:
sumber
Saya memiliki masalah yang sama jika saya mencoba membuka instance baru mongod dan dikatakan sudah berjalan.
Saya memeriksa dokumen dan katanya untuk mengetik
sumber
MongoDB tidak dapat memulai terutama karena shutdown yang tidak bersih. Untuk memperbaiki, hapus file mongod.lock. File ini terletak di folder data.
Cari tahu di mana folder data Anda dengan melihat file mongodb.conf atau mongod.conf. (File conf di bawah / etc pada sistem Linux.)
Misalnya menggunakan konfigurasi di atas, file ada di /var/lib/mongodb/mongod.lock. Hapus dan restart mongodb.
sumber
Saya telah menghadapi masalah yang sama. Meskipun
mongodb
layanan tidak berjalan, log menunjukkanaddress already in use
pesan.tidak mengembalikan apa pun
Pada analisis lebih lanjut ditemukan bahwa masalah itu disebabkan oleh file kunci. Layanan berjalan dengan baik, setelah menghapus file kunci dan memulai kembali.
sumber
Periksa log di /var/log/mongodb/mongod.log dan coba simpulkan kesalahannya. Dalam kasus saya itu
Gagal memutus tautan file socket /tmp/mongodb-27017.sock errno: 1 Operasi tidak diizinkan
Dihapus /tmp/mongodb-27017.sock dan berhasil.
sumber
mencoba
/usr/lib/mongodb/mongod.exe --dbpath c: data \ db
--dbpath (harus diikuti oleh jalur db Anda)
sumber
Mungkin saja server sudah berjalan. Silakan periksa dengan perintah mongo berfungsi atau tidak.
sumber
Untuk mengatasi masalah di Windows , langkah-langkah di bawah ini berfungsi untuk saya:
Misalnya mongoDB versi 3.6 diinstal, dan jalur instal MongoDB adalah "D: \ Program Files \ MongoDB".
Buat folder D: \ mongodb \ logs, lalu buat file mongodb.log di dalam folder ini.
Jalankan cmd.exe sebagai administrator ,
Hapus dua file ini
mongod.lock
dan distorage.bson
bawah folder "D: \ mongodb \ data".Kemudian ketik
net start MongoDB
cmd menggunakan hak administrator, masalah akan terpecahkan.sumber
Ini menunjukkan kesalahan mendengarkan (): bind () gagal errno: 98 Alamat sudah digunakan untuk soket: 0.0.0.0:7017 yaitu 27017 alamat sudah digunakan oleh beberapa layanan lain. silakan periksa ini dengan perintah "netstat -apt | grep" 27017 ""
sumber
(Jika Anda menggunakan linux,) if
atau
tidak memperbaiki masalah, keluar dan masuk kembali . Itu memecahkan masalah saya.
Atau Anda dapat mematikan proses secara manual dari terminal, saya kira.
sumber
Sepertinya kesalahan yang sama ditampilkan di log ketika Anda kehilangan pengaturan lingkungan LC_ALL. Ini membingungkan, tetapi Anda dapat mengeksekusi
mongo
klien untuk melihat bahwa itu masalah.sumber
jika Anda menjalankan mongo untuk pertama kali, Anda mungkin ingin mengatur jalurnya terlebih dahulu
sumber
Proses pembunuhan tidak menyelesaikan masalah saya. Mac saya macet dan restart beberapa file kunci (mongod.lock, WiredTiger.lock) ada di mongo dbPath. Saya memindahkan file-file ini ke folder yang berbeda (saya tidak menghapus untuk menghindari lebih banyak masalah) dan kemudian berhasil. Pada suksesi bintang, saya menghapus file kunci yang dipindahkan.
sumber