MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

mongodb 3.4.3 Izin ditolak wiredtiger_kv_engine.cpp 267 kesalahan dengan ubuntu 16

Saya mengalami masalah saat membuka mongod sebagai layanan:Bagaimana mungkin itu berfungsi ketika saya melakukan Sudo mongod -f /etc/mongod.conf tetapi ketika meluncurkannya dengan Sudo service mongod start saya mendapatkan kesalahan di log

sudo perintah memulai mongod dengan root izin (alias akses pengguna super). Jika Anda menjalankan mongod sebagai layanan, pengguna dan grup dikonfigurasi dalam definisi layanan (mongodb untuk keduanya dalam contoh Anda).

Tidak perlu menjalankan mongod proses sebagai root pengguna, dan ini sangat tidak disarankan sesuai dengan praktik keamanan umum Prinsip dengan hak istimewa paling rendah.

Jika Anda ingin menguji konfigurasi dari baris perintah, Anda dapat menggunakan sudo untuk dijalankan dengan pengguna tertentu alih-alih pengguna default (root).

Misalnya:

sudo -u mongodb mongod -f /etc/mongod.conf 

Secara umum, yang terbaik adalah menggunakan konfigurasi layanan daripada menjalankan mongod secara manual. Dengan pemanggilan manual, Anda juga harus ingat untuk menyertakan parameter seperti jalur file konfigurasi (karena tidak ada jalur konfigurasi default). Tanpa file konfigurasi, mongod juga menggunakan opsi default seperti dbPath dari /data/db .

Pernyataan:28595:13:Izin ditolak src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp 267

Kemungkinan penyebab kesalahan izin Anda adalah karena sebelumnya memulai mongod sebagai root pengguna. Beberapa direktori dan file sekarang mungkin dimiliki oleh pengguna root, jadi mongodb pengguna tidak dapat mengaksesnya. Kesalahan spesifik Anda terkait dengan mengakses file di direktori data (yaitu storage.dbPath yang dikonfigurasi di mongod.conf ).

Dengan asumsi Anda belum mengubah jalur default di mongod.conf . Anda file, Anda harus dapat menyesuaikan izin secara rekursif agar sesuai dengan mongod.service definisi yang diharapkan.

Pertama, pastikan Anda telah menghentikan mongod contoh jika sedang berjalan.

Kemudian, sesuaikan izin secara rekursif ke pengguna dan grup yang diharapkan:

# storage.dbPath
sudo chown -R mongodb:mongodb /var/lib/mongodb

# systemLog.path
sudo chown -R mongodb:mongodb /var/log/mongodb

Sekarang Anda seharusnya dapat memulai mongod sebagai layanan. Jika layanan gagal untuk memulai, harus ada detail lebih lanjut di mongod file log (dengan asumsi file log dapat ditulis oleh mongodb pengguna layanan).



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara mencatat kueri yang dieksekusi oleh Spring Data MongoDB?

  2. Bagaimana menjalankan perintah mongodb mentah dari pymongo

  3. Mongodb - agregasi $push jika kondisional

  4. Apakah mongodb berjalan?

  5. instal mongoDB (proses anak gagal, keluar dengan nomor kesalahan 100)