一、可能是因为机器重启后,导致/var/run 下面的mongodb目录被删除了。
要重新新建这个目录
cd /var/run
mkdir mongodb
然后授权成mongod用户
chown mongod:mongod mongodb
最后就可以使用service来管理相关的启停服务了
service mongod start
不授权成mongod用户也可以,只是mongod.service文件里也要注意权限。root可以重启mongod权限的文件,但是mongod用户无法启动root权限的文件。但是root用户操作数据库通常有风险,所以改用mongod。
mongodb有几个文件比较重要
配置文件目录: /etc/mongod.conf
数据目录:/var/lib/mongo
启停服务:service mongod status/restart/start/stop
sock 文件:/tmp目录下
日志文件:/var/log//mongodb/mongod.log
PID文件:/var/run/mongodb/mongod.pid
要是找不到可以find find / -name mongod.log
重启后还是报错,可查看日志:sudo tail -f /var/log//mongodb/mongod.log
二、报错:mongod.service - SYSV: Mongo is a scalable, document-oriented database
Cent OS 7上需要把mongoDB添加到systemd,否则会出现上面的错误
将mongoDB添加到systemd
# vim /usr/lib/systemd/system/mongod.service
文件内容编辑如下:
———————————————————————————————————————
[Unit]
Description=mongodb database
[Service]
User=mongod #先看文件夹的权限,如果是root,那么就要改为root。由于我就是root,而我用了mongod所以提示无权限读取mongod.bson
Group=mongod #先看文件夹的权限,如果是root,那么就要改为root
Environment="OPTIONS=--quiet -f /etc/mongod.conf" # mongod.conf文件的路径
ExecStart=/usr/bin/mongod $OPTIONS run
PIDFile=/var/run/mongodb/mongod.pid #PID文件的路径
[Install]
WantedBy=multi-user.target
——————————————————————————————————————
建立链接:
ln -s /usr/lib/systemd/system/mongod.service /etc/systemd/system/multi-user.target.wants/
重新加载systemctl:
systemctl daemon-reload
三、重启XMDB提示 27071:0.0.0.0端口重复,此时要先查到进程号,杀进程。
注意,kill进程的时候,尽量用kill -15 pid ,不要用 kill -9 pid ,防止数据损坏。