Ubuntu mengubah lokasi mongoDB menyebabkan koneksi gagal (Operasi tidak diizinkan)

Jadi saya telah menginstal Edisi Komunitas MongoDB di Ubuntu dengan mengikuti instruksi yang diberikan di sini.

Saya berhasil menguji koneksi saya dengan memulai layanan terlebih dahulu dan kemudian menggunakan klien mana pun untuk terhubung. (robomongo dan umongo).

Sekarang karena jenis pekerjaan saya, saya akan menyimpan file berukuran GB ke mesin saya. Jadi saya perlu mengubah lokasi mongoDB. Jadi saya mengikuti langkah-langkah di bawah ini (disebutkan di sini juga):

Langkah 1 : Buka mongod.conf jam \etc

Langkah 2:

Edit jalur ke jalur yang diinginkan. Jalur baru saya adalah seperti di bawah ini

dbPath: /home/shouman/mongodb

Langkah 3: Salin data dari jalur lama ke jalur baru

Langkah 4: Perbarui izin direktori baru secara rekursif ke 777

Sekarang sepertinya saya tidak bisa memulai mongoDB setelah itu. Saya memeriksa file log di /var/log/mongodb/mongod.lod dan sepertinya ada masalah izin seperti yang disebutkan di bawah

/home/shouman/mongodb/WiredTiger.wt

Sekarang Anda dapat melihat beberapa catatan dari itu

  1. mongoDB sekarang melihat lokasi baru. (itu juga membuat dua file kunci)
  2. Saya memeriksa izin untuk file khusus ini dan sepertinya oke (periksa gambar di akhir)
  3. Saya mencoba me-restart mongoDB tetapi masalah masih sama

Berikut adalah keluaran log selengkapnya

2017-04-17T18:19:59.466+0300 I CONTROL  [main] ***** SERVER RESTARTED *****
2017-04-17T18:19:59.471+0300 I CONTROL  [initandlisten] MongoDB starting : pid=3374 port=27017 dbpath=/home/shouman/mongodb 64-bit host=shouman-Lenovo-IdeaPad-Y500
2017-04-17T18:19:59.471+0300 I CONTROL  [initandlisten] db version v3.4.3
2017-04-17T18:19:59.471+0300 I CONTROL  [initandlisten] git version: f07437fb5a6cca07c10bafa78365456eb1d6d5e1
2017-04-17T18:19:59.471+0300 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.2g  1 Mar 2016
2017-04-17T18:19:59.471+0300 I CONTROL  [initandlisten] allocator: tcmalloc
2017-04-17T18:19:59.471+0300 I CONTROL  [initandlisten] modules: none
2017-04-17T18:19:59.471+0300 I CONTROL  [initandlisten] build environment:
2017-04-17T18:19:59.471+0300 I CONTROL  [initandlisten]     distmod: ubuntu1604
2017-04-17T18:19:59.471+0300 I CONTROL  [initandlisten]     distarch: x86_64
2017-04-17T18:19:59.471+0300 I CONTROL  [initandlisten]     target_arch: x86_64
2017-04-17T18:19:59.471+0300 I CONTROL  [initandlisten] options: { config: "/etc/mongod.conf", net: { bindIp: "127.0.0.1", port: 27017 }, storage: { dbPath: "/home/shouman/mongodb", journal: { enabled: true } }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log", quiet: true } }
2017-04-17T18:19:59.503+0300 I -        [initandlisten] Detected data files in /home/shouman/mongodb created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'.
2017-04-17T18:19:59.503+0300 I STORAGE  [initandlisten] 
2017-04-17T18:19:59.503+0300 I STORAGE  [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
2017-04-17T18:19:59.503+0300 I STORAGE  [initandlisten] **          See http://dochub.mongodb.org/core/prodnotes-filesystem
2017-04-17T18:19:59.503+0300 I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=3454M,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-04-17T18:19:59.507+0300 E STORAGE  [initandlisten] WiredTiger error (1) [1492442399:507878][3374:0x7f5379b49cc0], file:WiredTiger.wt, connection: /home/shouman/mongodb/WiredTiger.wt: handle-open: open: Operation not permitted
2017-04-17T18:19:59.508+0300 I -        [initandlisten] Assertion: 28595:1: Operation not permitted src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp 267
2017-04-17T18:19:59.508+0300 I STORAGE  [initandlisten] exception in initAndListen: 28595 1: Operation not permitted, terminating
2017-04-17T18:19:59.508+0300 I NETWORK  [initandlisten] shutdown: going to close listening sockets...
2017-04-17T18:19:59.508+0300 I NETWORK  [initandlisten] removing socket file: /tmp/mongodb-27017.sock
2017-04-17T18:19:59.508+0300 I NETWORK  [initandlisten] shutdown: going to flush diaglog...
2017-04-17T18:19:59.508+0300 I CONTROL  [initandlisten] now exiting
2017-04-17T18:19:59.508+0300 I CONTROL  [initandlisten] shutting down with code:100

Izin WireTiger.wt


person Abdelrahman Shoman    schedule 17.04.2017    source sumber


Jawaban (1)


OKE. Jadi sepertinya saya juga perlu menjadikan pengguna mongod sebagai pemilik driectoty mongoDB baru

Saya menemukan jawabannya dalam pertanyaan ini

Layanan MongoDB tidak dimulai. errno:13 Izin ditolak

person Abdelrahman Shoman    schedule 17.04.2017