Risolvere il problema Failed to unlink socket in MongoDB

Mattepuffo's logo
Risolvere il problema Failed to unlink socket in MongoDB

Risolvere il problema Failed to unlink socket in MongoDB

Ho installato MongoDB su varie distro, e più volte su Debian 10.

Oggi, però, su una nuova installazione riscontravo sempre questo:

# systemctl status mongod
● mongod.service - MongoDB Database Server
   Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Tue 2020-04-14 09:58:02 CEST; 1s ago
     Docs: https://docs.mongodb.org/manual
  Process: 3818 ExecStart=/usr/bin/mongod --config /etc/mongod.conf (code=exited, status=14)
 Main PID: 3818 (code=exited, status=14)

Apr 14 09:58:02 matteoferrone systemd[1]: Started MongoDB Database Server.
Apr 14 09:58:02 matteoferrone systemd[1]: mongod.service: Main process exited, code=exited, status=14/n/a
Apr 14 09:58:02 matteoferrone systemd[1]: mongod.service: Failed with result 'exit-code'.

Andando a vedere il log vedevo questo:

2020-04-14T09:46:16.177+0200 I  CONTROL  [main] ***** SERVER RESTARTED *****
2020-04-14T09:46:16.184+0200 I  CONTROL  [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
2020-04-14T09:46:16.218+0200 W  ASIO     [main] No TransportLayer configured during NetworkInterface startup
2020-04-14T09:46:16.219+0200 I  CONTROL  [initandlisten] MongoDB starting : pid=1506 port=27017 dbpath=/var/lib/mongodb 64-bit host=matteoferrone
2020-04-14T09:46:16.219+0200 I  CONTROL  [initandlisten] db version v4.2.5
2020-04-14T09:46:16.219+0200 I  CONTROL  [initandlisten] git version: 2261279b51ea13df08ae708ff278f0679c59dc32
2020-04-14T09:46:16.219+0200 I  CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.1.1d  10 Sep 2019
2020-04-14T09:46:16.219+0200 I  CONTROL  [initandlisten] allocator: tcmalloc
2020-04-14T09:46:16.219+0200 I  CONTROL  [initandlisten] modules: none
2020-04-14T09:46:16.219+0200 I  CONTROL  [initandlisten] build environment:
2020-04-14T09:46:16.219+0200 I  CONTROL  [initandlisten]     distmod: debian10
2020-04-14T09:46:16.220+0200 I  CONTROL  [initandlisten]     distarch: x86_64
2020-04-14T09:46:16.220+0200 I  CONTROL  [initandlisten]     target_arch: x86_64
2020-04-14T09:46:16.220+0200 I  CONTROL  [initandlisten] options: { config: "/etc/mongod.conf", net: { bindIp: "127.0.0.1", port: 27017 }, processManagement: { timeZoneInfo: "/usr/share/zoneinfo" }, storage: { dbPath: "/var/lib/mongodb", journal: { enabled: true } }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log" } }
2020-04-14T09:46:16.220+0200 E  NETWORK  [initandlisten] Failed to unlink socket file /tmp/mongodb-27017.sock Operation not permitted
2020-04-14T09:46:16.220+0200 F  -        [initandlisten] Fatal Assertion 40486 at src/mongo/transport/transport_layer_asio.cpp 684
2020-04-14T09:46:16.220+0200 F  -        [initandlisten] 

***aborting after fassert() failure

Ho poi scoperto che il problema erano i permessi di scrittura sulla cartella tmp.

Ho quindi eseguito questi comandi:

# cd /tmp
# ls *.sock
# chown mongodb:mongodb VOSTRO_FILE.sock
# systemctl start mongod
# systemctl status mongod

Giusto per essere sicuri, accertatevi di avere i giusti permessi anche qui:

# ls -l /var/lib/
drwxr-xr-x 4 mongodb mongodb 4096 Apr 14 10:00 mongodb

Enjoy!


Condividi

Commentami!