sql >> Databasteknik >  >> NoSQL >> MongoDB

mongodb 3.4.3 Tillstånd nekad widtiger_kv_engine.cpp 267 fel med ubuntu 16

Jag har problem med att starta mongod som en tjänst:Hur är det möjligt att det fungerar när jag gör sudo mongod -f /etc/mongod.conf men när jag startar den med sudo service mongod start får jag ett fel i loggen

sudo kommandot startar mongod med root behörigheter (alias superanvändaråtkomst). Om du kör mongod som en tjänst är användaren och gruppen konfigurerade i tjänstdefinitionen (mongodb för båda i ditt exempel).

Det finns inget behov av att köra mongod process som root användare, och detta avråds starkt enligt den vanliga säkerhetspraxisen enligt principen om minsta privilegium.

Om du vill testa en konfiguration från kommandoraden kan du använda sudo att köra med en angiven användare istället för standardanvändaren (root).

Till exempel:

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

I allmänhet är det bäst att använda en tjänstkonfiguration istället för att köra mongod manuellt. Med manuell anrop måste du också komma ihåg att inkludera parametrar som konfigurationsfilens sökväg (eftersom det inte finns någon standard konfigurationssökväg). Utan en konfigurationsfil, mongod använder också standardalternativ som en dbPath av /data/db .

Påstående:28595:13:Tillstånd nekad src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp 267

Den troliga orsaken till dina behörighetsfel är att du tidigare har startat mongod som root användare. Vissa kataloger och filer kan nu ägas av root-användaren, så mongodb användaren kan inte komma åt dessa. Ditt specifika fel relaterar till åtkomst till filer i datakatalogen (dvs. den konfigurerade storage.dbPath i mongod.conf ).

Förutsatt att du inte har ändrat standardsökvägarna i din mongod.conf fil, bör du rekursivt kunna justera behörigheter för att matcha vad mongod.service definition förväntar sig.

Se först till att du har stoppat din mongod instans om den körs för närvarande.

Justera sedan rekursivt behörigheter till den förväntade användaren och gruppen:

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

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

Nu bör du kunna starta mongod som en tjänst. Om tjänsten inte startar bör det finnas ytterligare detaljer i mongod loggfil (förutsatt att loggfilen är skrivbar av mongodb tjänstanvändare).



  1. Hur kommer magento på cache-nyckelnamn?

  2. Index på ts-fältet i oplog.rs uppdateras inte

  3. Realtidsdataströmning med MongoDB Change Streams

  4. Ta bort dubbletter när du använder $unionWith i MongoDB