折腾:
期间,发现:
systemctl restart mongod
错误依旧,且:
systemctl stop mongod
systemctl start mongod
并没有真正去启动mongod,因为:
错误还是一样的:
1 2 3 4 5 6 | tail -n 40 / var /log/mongodb/mongod.log 2018-04-10T13:59:39.695+0800 I NETWORK [initandlisten] getaddrinfo( " 112.4.64.141" ) failed: Name or service not known 2018-04-10T13:59:39.695+0800 E NETWORK [initandlisten] listen(): socket is invalid. 2018-04-10T13:59:39.695+0800 E STORAGE [initandlisten] Failed to set up sockets during startup. 2018-04-10T13:59:39.695+0800 I CONTROL [initandlisten] dbexit: rc: 48 |
根本没有调用更新后的conf文件。。。
而在:
的后续折腾中,也发现了类似的问题:
用service 也还是无法启动或重启mongod
去看看sock文件,貌似没问题:
1 2 | [root@xxx-general-01 ~] # ll /tmp/mongodb-32018.sock srwx------ 1 mongod mongod 0 Apr 10 13:59 /tmp/mongodb-32018.sock |
难道是也是有问题:
因为此处的权限中,作为root组的root用户,对于上述的sock文件是没有访问权限的
因为上述的权限是:srwx———
other group是连读取权限都没有的
后来好像是:
此处的mongod的服务,是作为mongod的组和用户,去在开机时启动的,可以正常启动的
此处,远程用ssh作为root用户登录进来后,是root用户,无法启动属于mongod:mongod的服务mongod?
但是是可以借用mongod的用户去启动mongod的:
1 | sudo -u mongod mongod -f /etc/mongod .conf |
另外后来发现也是可以通过:
1 | sudo -u mongod systemctl stop mongod |
不过需要输入root的密码才可以 -》 因为运行systemctl需要管理员权限
搜:
root user can not start mongod