Ubuntu изменение местоположения mongoDB приводит к сбою соединения (операция не разрешена)

Итак, я установил MongoDB Community Edition на Ubuntu, следуя инструкциям, представленным здесь< /а>.

Я успешно протестировал свое соединение, сначала запустив службу, а затем используя любой клиент для подключения. (робомонго и умонго).

Теперь из-за типа моей работы я буду хранить гигабайты файлов на своей машине. Таким образом, мне нужно было изменить местоположение 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 владельцем новой driectoty mongoDB.

Я нашел ответ в этом вопросе

Служба MongoDB не запускается. errno:13 Отказано в доступе

person Abdelrahman Shoman    schedule 17.04.2017