文章目录
之前装这个,踩了一大堆坑,这次重新装一遍。
吸取之前犯错的经验,从
- 目录的所有者所在组
- 目录的rwx权限
- mongod.conf文件中的配置
- 启动失败后的log
中一个一个的排查,总能跑起来。
还有一个坑,就是配置文件中bindIp能否添加多个
我跑去Google上看stackoverflow, 又跑去官网看文档
官网上推荐多个ip用逗号隔开,stackoverflow上也有不少人是这个说法
启动,然后这一行报错,服务启动失败。。。
心累。。。这年头,连官网都不能信了。。。
下面是正文,参考了前辈的文章,当成故事看看就好
安装mongodb,tgz安装
删除以前装的
rpm -qa | grep -i mongo
yum -y remove 把上面查出来的全都列在后面,空格隔开
然后
mkdir mongodb
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.4.tgz
tar -zxvf mongodb-linux-x86_64-rhel70-4.4.4.tgz
mv mongodb-linux-x86_64-rhel70-4.4.4 mongodb-4.4.4
rm -f mongodb-linux-x86_64-rhel70-4.4.4.tgz
cd mongodb-4.4.4
mkdir data
touch mongodb.log
非授权方式启动
./mongod --dbpath=/usr/local/mongodb-4.4.4/data --logpath=/usr/local/mongodb-4.4.4/mongodb.log --logappend --port=27017 --fork
授权启动
./mongo
show dbs;
use admin;
db.createUser({user:"root",pwd:"password",roles:[{role:"root",db:"admin"}]});
查一下有没有
show users;
ps -ef | grep mongodb
查到进程号
kill -2 pid
./mongod --dbpath=/usr/local/mongodb-4.4.4/data --logpath=/usr/local/mongodb-4.4.4/mongodb.log --logappend --port=27017 --fork --auth
./mongo
use admin;
db.auth("root","password");
手写mongodb.service
启动,启动失败
经过查看日志,发现
{"t":{"$date":"2021-03-26T10:49:24.381-04:00"},"s":"I", "c":"CONTROL", "id":23377, "ctx":"SignalHandler","msg":"Received signal","attr":{"signal":15,"error":"Terminated"}}
{"t":{"$date":"2021-03-26T10:49:24.381-04:00"},"s":"I", "c":"CONTROL", "id":23378, "ctx":"SignalHandler","msg":"Signal was sent by kill(2)","attr":{"pid":1,"uid":0}}
进程被kill掉了,
在service配置文件中,添加守护进程
PIDFile=mongod.pid的路径
启动成功