2016-10-24 3 views
1

Meine MongoDB auf dem Mac konnte plötzlich nicht gestartet werden. Dies sind die Meldungen:Mac OSX MongoDB konnte beim Start keine Sockets einrichten

2016-10-24T11:13:04.080-0500 I CONTROL [initandlisten] MongoDB starting : pid=365 port=27017 dbpath=/Users/user1/mongodb/data/db 64-bit host=Mac1.attlocal.net 
2016-10-24T11:13:04.081-0500 I CONTROL [initandlisten] db version v3.2.6 
2016-10-24T11:13:04.081-0500 I CONTROL [initandlisten] git version: 05552b562c7a0b3143a729aaa0838e558dc49b25 
2016-10-24T11:13:04.081-0500 I CONTROL [initandlisten] allocator: system 
2016-10-24T11:13:04.081-0500 I CONTROL [initandlisten] modules: none 
2016-10-24T11:13:04.081-0500 I CONTROL [initandlisten] build environment: 
2016-10-24T11:13:04.081-0500 I CONTROL [initandlisten]  distarch: x86_64 
2016-10-24T11:13:04.081-0500 I CONTROL [initandlisten]  target_arch: x86_64 
2016-10-24T11:13:04.081-0500 I CONTROL [initandlisten] options: { config: "mongod.conf", storage: { dbPath: "/Users/user1/mongodb/data/db" } } 
2016-10-24T11:13:04.082-0500 E NETWORK [initandlisten] listen(): bind() failed errno:1 Operation not permitted for socket: /tmp/mongodb-27017.sock 
2016-10-24T11:13:04.082-0500 E STORAGE [initandlisten] Failed to set up sockets during startup. 
2016-10-24T11:13:04.083-0500 I CONTROL [initandlisten] dbexit: rc: 48 

ich das versucht:

Mac1:mongodb user1$ ls -ld /tmp 
[email protected] 1 root wheel 11 Feb 23 2016 /tmp -> private/tmp 

irgendwelche Vorschläge?

+0

Hat es die Berechtigung, auf '/ Users/user1/mongodb/data/db' zu schreiben? Ist dieser Ordner vorhanden? –

+0

Ja, db ist da. Hier sind die Berechtigungen, wenn ich ls -ld db: drwxrwxrwx 26 user1 Mitarbeiter 884 14. Oktober 16.22 db – user523234

+0

Versuchen Sie, mongod als "user1" oder als root zu starten? – andresk

Antwort

0

Wie schon früher herauskam, hat meine Maschine eine automatische Sicherheit für OS X El Capitan 2016-002 aktualisiert. Dieses Update hat das Flag für/tmp label und den Ordner/private/tmp in "restricted" geändert. Daher kann an dieser Stelle nichts erstellt werden (siehe oben meinen Kommentar).

dies zu beheben:

  1. Starten Sie Ihren Mac in den abgesicherten Modus
  2. goto-Terminal und Ausgabe: csrutil für diese Position in den normalen Modus
  3. ändern beschränkt Flag auf nonrestricted
  4. Starten Sie Ihren Mac deaktivieren . Im Terminal: sudo chflags notrestricted/private/tmp. Und sudo chflags norestricted/tmp (nicht sicher, ob dies ein benötigt wird)
  5. Berechtigungen ändern und bei Bedarf: sudo chmod 1777/tmp und sudo chmod 1777/private/tmp
  6. Im abgesicherten Modus starten wieder, und ein tun csrutil enable zurück

Das löste mein Problem.