Ubuntu การเปลี่ยนตำแหน่งของ mongoDB ส่งผลให้การเชื่อมต่อล้มเหลว (ไม่อนุญาตให้ดำเนินการ)

ดังนั้นฉันจึงได้ติดตั้ง MongoDB Community Edition บน Ubuntu โดยทำตามคำแนะนำที่ให้ไว้ ที่นี่< /ก>.

ฉันทดสอบการเชื่อมต่อของฉันได้สำเร็จโดยเริ่มบริการก่อน จากนั้นจึงใช้ไคลเอนต์ใดก็ได้เพื่อเชื่อมต่อ (โรโบมอนโกและอูมอนโก)

ตอนนี้เนื่องจากประเภทของงานของฉัน ฉันจะจัดเก็บไฟล์ GB ไว้ในเครื่องของฉัน ดังนั้นฉันจึงจำเป็นต้องเปลี่ยนตำแหน่งของ mongoDB ดังนั้นฉันจึงทำตามขั้นตอนด้านล่าง (กล่าวถึงที่นี่ ด้วยเช่นกัน):

ขั้นตอนที่ 1 : เปิด mongod.conf ที่ \etc

ขั้นตอนที่ 2:

แก้ไขเส้นทางไปยังเส้นทางที่ต้องการ เส้นทางใหม่ของฉันมีดังนี้

dbPath: /home/shouman/mongodb

ขั้นตอนที่ 3: คัดลอกข้อมูลจากเส้นทางเก่าไปยังเส้นทางใหม่

ขั้นตอนที่ 4: อัปเดตการอนุญาตไดเรกทอรีใหม่ซ้ำๆ เป็น 777

ตอนนี้ดูเหมือนจะไม่สามารถเริ่ม mongoDB หลังจากนั้นได้ ฉันตรวจสอบไฟล์บันทึกที่ /var/log/mongodb/mongod.lod และดูเหมือนว่าจะมีปัญหาเรื่องการอนุญาตตามที่กล่าวไว้ด้านล่าง

/home/shouman/mongodb/WiredTiger.wt

ตอนนี้คุณสามารถสังเกตเห็นบันทึกย่อบางประการจากนั้น

  1. ตอนนี้ mongoDB เห็นตำแหน่งใหม่ (มันยังสร้างไฟล์ล็อคสองไฟล์ด้วย)
  2. ฉันตรวจสอบการอนุญาตสำหรับไฟล์เฉพาะนี้แล้ว และดูเหมือนว่าใช้ได้ (ตรวจสอบรูปภาพท้ายเรื่อง)
  3. ฉันลองรีสตาร์ท mongoDB แต่ยังคงเป็นปัญหาเดิม

นี่คือเอาต์พุตบันทึกฉบับเต็ม

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

สิทธิ์ WireTiger.wt


person Abdelrahman Shoman    schedule 17.04.2017    source แหล่งที่มา


คำตอบ (1)


ตกลง. ดูเหมือนว่าฉันจำเป็นต้องทำให้ผู้ใช้ mongod เป็นเจ้าของ mongoDB driectoty ใหม่

ฉันพบคำตอบในคำถามนี้

บริการ MongoDB ไม่เริ่มทำงาน errno:13 การอนุญาตถูกปฏิเสธ

person Abdelrahman Shoman    schedule 17.04.2017