sql >> Database >  >> NoSQL >> MongoDB

MongoDB start niet na servercrash

Het logbestand vertelt je dat je een "oud vergrendelingsbestand" . hebt . MongoDB houdt een vergrendelingsbestand bij terwijl het actief is. Het maakt dit bestand aan wanneer het wordt gestart en verwijdert het wanneer het wordt gestopt. Wanneer de computer crasht (of MongoDB crasht, bijv. via kill ), wordt dit bestand niet verwijderd en start de database dus niet. Het bestaan ​​van dit bestand duidt op een onreine afsluiting van MongoDB.

Er kunnen twee dingen worden gedaan:

  1. Als dit een ontwikkelmachine is en u uw database niet hebt gebruikt (en uw programma's ook niet), kunt u het bestand handmatig verwijderen. Voor MongoDB 2.2.2 die draait op Ubuntu 12.10, staat het in /var/lib/mongodb/mongod.lock . Voor andere versies kan het bestand zich in een ander pad bevinden of de naam mongo.lock hebben .

  2. De veiligere route is om de Durability and Repair-gids van MongoDB te volgen. Samengevat moet u voor een machine met de bovenstaande configuratie de volgende opdrachten uitvoeren:

    sudo -u mongodb mongod --repair --dbpath /var/lib/mongodb/
    sudo service mongod start
    


  1. MongoDB $type Query-operator

  2. MongoDB-CR-verificatie als standaard configureren op MongoDB 3.x

  3. Hoe u uw functie kunt bekijkenCompatibilityVersion in MongoDB

  4. Push naar twee afzonderlijke arrays in één update-aanroep in mongodb