MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

mongodb 3.4.3 Отказано разрешение wiredtiger_kv_engine.cpp 267 грешка с ubuntu 16

Имам проблеми със стартирането на mongod като услуга:Как е възможно да работи, когато направя sudo mongod -f /etc/mongod.conf, но когато го стартирам със sudo service mongod start получавам грешка в дневника

sudo командата стартира mongod с root разрешения (известен още като достъп на суперпотребител). Ако стартирате mongod като услуга потребителят и групата са конфигурирани в дефиницията на услугата (mongodb и за двете във вашия пример).

Не е необходимо да стартирате mongod процес като root потребител и това е силно обезкуражено съгласно общата практика за сигурност на принципа на най-малко привилегии.

Ако искате да тествате конфигурация от командния ред, можете да използвате sudo да се изпълнява с определен потребител вместо потребител по подразбиране (root).

Например:

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

Като цяло, най-добре е да използвате конфигурация на услугата, вместо да изпълнявате mongod ръчно. При ръчно извикване ще трябва също да запомните да включите параметри като пътя на конфигурационния файл (тъй като няма път за конфигурация по подразбиране). Без конфигурационен файл, mongod също използва опции по подразбиране, като dbPath на /data/db .

Твърдение:28595:13:Отказано разрешение src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp 267

Вероятната причина за грешките ви в разрешенията е преди това да сте стартирали mongod като root потребител. Някои директории и файлове вече може да са собственост на root потребител, така че mongodb потребителят няма достъп до тях. Вашата конкретна грешка е свързана с достъпа до файлове в директорията с данни (т.е. конфигурираният storage.dbPath в mongod.conf ).

Ако приемем, че не сте променили пътищата по подразбиране във вашия mongod.conf файл, трябва да можете да коригирате рекурсивно разрешенията, за да съответстват на това, което mongod.service дефиницията очаква.

Първо се уверете, че сте спрели вашия mongod екземпляр, ако в момента работи.

След това рекурсивно коригирайте разрешенията към очаквания потребител и група:

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

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

Сега трябва да можете да стартирате mongod като услуга. Ако услугата не успее да стартира, трябва да има допълнителни подробности в mongod лог файл (ако приемем, че регистрационният файл може да се записва от mongodb потребител на услугата).



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да замените съществуващите документи при импортиране на файл в MongoDB

  2. MongoDB $dateToParts

  3. Какъв е препоръчителният начин за премахване на индекси с помощта на Mongoose?

  4. Изхвърлете колекцията Mongo във формат JSON

  5. Изберете вложени полета в mongo db