kotcich
@kotcich
Я скучный.

Как перманентно поставить владельца файла .sock на mongodb?

И удалял этот файл, и вручную ставил права на mongodb. Файл просто пересоздается после команд mongod | sudo mongod | sudo systemctl start mongod. И конечно с root.
Логи все равно выдают это:
{"t":{"$date":"2021-12-05T20:20:34.514+00:00"},"s":"I",  "c":"CONTROL",  "id":20698,   "ctx":"main","msg":"***** SERVER RESTARTED *****"}
{"t":{"$date":"2021-12-05T20:20:34.517+00:00"},"s":"I",  "c":"CONTROL",  "id":23285,   "ctx":"main","msg":"Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'"}
{"t":{"$date":"2021-12-05T20:20:34.535+00:00"},"s":"W",  "c":"ASIO",     "id":22601,   "ctx":"main","msg":"No TransportLayer configured during NetworkInterface startup"}
{"t":{"$date":"2021-12-05T20:20:34.536+00:00"},"s":"I",  "c":"NETWORK",  "id":4648601, "ctx":"main","msg":"Implicit TCP FastOpen unavailable. If TCP FastOpen is required, set tcpFastOpenServer, tcpFastOpenClient, and tcpFastOpenQueueSize."}
{"t":{"$date":"2021-12-05T20:20:34.536+00:00"},"s":"I",  "c":"STORAGE",  "id":4615611, "ctx":"initandlisten","msg":"MongoDB starting","attr":{"pid":7151,"port":27017,"dbPath":"/var/lib/mongodb","architecture":"64-bit","host":"vm-e36ee522"}}
{"t":{"$date":"2021-12-05T20:20:34.536+00:00"},"s":"I",  "c":"CONTROL",  "id":23403,   "ctx":"initandlisten","msg":"Build Info","attr":{"buildInfo":{"version":"4.4.8","gitVersion":"83b8bb8b6b325d8d8d3dfd2ad9f744bdad7d6ca0","openSSLVersion":"OpenSSL 1.1.1f  31 Mar 2020","modules":[],"allocator":"tcmalloc","environment":{"distmod":"ubuntu2004","distarch":"x86_64","target_arch":"x86_64"}}}}
{"t":{"$date":"2021-12-05T20:20:34.536+00:00"},"s":"I",  "c":"CONTROL",  "id":51765,   "ctx":"initandlisten","msg":"Operating System","attr":{"os":{"name":"Ubuntu","version":"20.04"}}}
{"t":{"$date":"2021-12-05T20:20:34.536+00:00"},"s":"I",  "c":"CONTROL",  "id":21951,   "ctx":"initandlisten","msg":"Options set by command line","attr":{"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"}}}}
{"t":{"$date":"2021-12-05T20:20:34.537+00:00"},"s":"E",  "c":"NETWORK",  "id":23024,   "ctx":"initandlisten","msg":"Failed to unlink socket file","attr":{"path":"/tmp/mongodb-27017.sock","error":"Operation not permitted"}}
{"t":{"$date":"2021-12-05T20:20:34.537+00:00"},"s":"F",  "c":"-",        "id":23091,   "ctx":"initandlisten","msg":"Fatal assertion","attr":{"msgid":40486,"file":"src/mongo/transport/transport_layer_asio.cpp","line":919}}
{"t":{"$date":"2021-12-05T20:20:34.537+00:00"},"s":"F",  "c":"-",        "id":23092,   "ctx":"initandlisten","msg":"\n\n***aborting after fassert() failure\n\n"}


Вообще дичь какая то, если у вас есть какие то мануалы по установки mongo на ubuntu, ВОТ ЧТОБЫ я установил и работало.
Я понимаю, что это не mysql и я не против покопаться с конфигом, НО я не особо понимаю, почему уже почти целый день я не могу запустить процесс и подключиться к нему с той же машины, на каторой процесс и запущен. Либо 13 ошибка, либо 14, либо 100. Файлы который из оф мануала установки на убунту ставятся на root, а потом ругаются на этот же root.
В --journal режими все запускается, вот только нужно сплитить терминал чтобы там уже прописывать mongo, который иронично работает в этом случае, и будь добр еще и 3 терминал открыть (3 раз для того, чтобы уже с системой работать, так 2 других привязаны к своему процессу).

P.S.
Версия 4.4 (я в курсе что пятерка имеет проблемы с некоторыми процессорами, мой vps как раз не имеет нужный)
  • Вопрос задан
  • 204 просмотра
Решения вопроса 1
nowm
@nowm
Посмотрите конфигурацию сервиса mongod. Она должна быть в файле /lib/systemd/system/mongod.service.

После названия раздела [Service] должны идти эти строки:
User=mongodb
Group=mongodb


Это влияет на то, кому будет принадлежать файл /tmp/mongodb-27017.sock. Так же, запускать/перезапускать сервис лучше только командой sudo systemctl start mongod.service

Ещё, судя по тому, что у вас в команде systemctl написано mongod, а не mongod.service, вы, возможно используете собственную конфигурацию для запуска, и тогда нужно редактировать другой файл — вы должны быть в курсе, какой именно, потому что наверняка сами его писали. В оригинальном файле с конфигурацией сервиса, который по-умолчанию создаётся после установки MongoDB, целевой пользователь/группа прописываются правильно и проблем не создают.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы