通过linux命令给服务器上安装mongodb

注意 本文中 /usr/local/ 为我的安装路径

1、安装步骤以及相关配置

1.1、下载(自己下)

mongodb官网下载地址
在这里插入图片描述
我选择的4.2.8版本,不老不新bug少!

1.2、解压

tar -zxvf mongodb-linux-x86_64-3.2.12.tgz

1.3、移动重命名

mv -r mongodb-linux-x86_64-3.2.12 /usr/local/
mv  mongodb-linux-x86_64-3.2.12  mongodb

1.4、配置系统文件profile

sudo vi /etc/profile	(编辑这个文件)

插入下列内容:
export MONGODB_HOME=/usr/local/mongodb  
export PATH=$PATH:$MONGODB_HOME/bin

保存后要重启系统配置:
source /etc/profile

1.5、创建用于存放数据和日志文件的文件夹,并修改其权限增加读写权限

先进入mongodb安装路径:
cd /usr/local/mongodb

创建data文件夹 存数据库  并改文件夹权限
sudo mkdir data
sudo chmod  777 data

创建logs日志文件夹   改权限	创日志文件
sudo mkdir logs
	cd logs
touch mongodb.log
	cd  ../
sudo chmod  777 data

1.6、进入到bin目录,增加一个配置文件:

cd /usr/local/mongodb/bin  
sudo vi mongodb.conf

插入下列内容:
dbpath = /usr/local/mongodb/data/db #数据文件存放目录
logpath =  /usr/local/mongodb/logs/mongodb.log #日志文件存放目录  
bind_ip = 0.0.0.0
#这个最好开下,不然容易被黑然后勒索你 
auth = true	# 开启认证     开后启动命令为:  mongo -u 账号名 -p 密码 admin
port = 27017  #端口  
fork = true  #以守护程序的方式启用,即在后台运行 

1.7、设置mongodb.service启动服务,设置开机启动 改权限

cd /lib/systemd/system  
sudo vi mongodb.service 

编辑其内容为:

[Unit]  
Description=mongodb  
After=network.target remote-fs.target nss-lookup.target  

[Service]  
Type=forking  
ExecStart=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/bin/mongodb.conf  
ExecReload=/bin/kill -s HUP $MAINPID  
ExecStop=/usr/local/mongodb/bin/mongod --shutdown --config /usr/local/mongodb/bin/mongodb.conf  
PrivateTmp=true  
  
[Install]  
WantedBy=multi-user.target

设置mongodb.service权限:

chmod 754 mongodb.service

系统mongodb.service的操作命令如下:

#启动服务  
systemctl start mongodb.service  
#关闭服务  
systemctl stop mongodb.service  
#开机启动  
systemctl enable mongodb.service 

1.8、 启动mongod数据库服务,以配置文件的方式启动

cd /usr/local/mongodb/bin
./mongod -f mongodb.conf

1.9、连接mongodb数据库

mongo

1.10、创建用户

use admin
db.createUser({user:"aaa",pwd:"111111",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})

2、可能遇到的坑、BUG……

2.1报错nohttpinterface

这个是你上面 1.6 步添加配置文件 mongodb.conf 时 有设置 nohttpinterface 这个属性,删掉这个属性即可。
另外如果出现 报错 “th”、”rt“ 等一些奇怪的错误,检查你粘贴到文件的内容是否有问题,看开头处是否少了几个字母。。。
粘贴后检查最开头处!!!!!!!!!!!!!!!!!!!

2.2配置文件mongodb.conf重新加载不了

报错:child process failed, exited with error number 48
在这里插入图片描述
解决方案:

ps -ef|grep mongod		看进程		
kill -9 20625		杀进程   沙雕  ./mongod -f mongodb.conf 的进程  20625为对应的pid 看你自己的
ps -ef|grep mongod		再看进程 
./mongod -f mongodb.conf		重新加载配置		最好用1.7中systemctl 启动服务
sudo netstat -plnt | egrep mongod		看对外访问状态   可以看是否开启了远程

注意,kill -9 不能随便用,确定你是用 systemctl start mongodb.service 启动服务 启动不了、 怎么样配置文件都重新加载不了再用

2.3无法远程连接访问

报错信息:

WARNING: This server is bound to localhost.
  Remote systems will be unable to connect to this server. 
   Start the server with --bind_ip <address> to specify which IP 
   addresses it should serve responses from, or with --bind_ip_all to
  bind to all interfaces. If this behavior is desired, start the
   server with --bind_ip 127.0.0.1 to disable this warning.

这个只需要将你的 1.6 步的 mongodb.conf 配置文件 bind_ip 设置改成0.0.0.0

		bind_ip = 0.0.0.0

注意改好重新加载配置文件

./mongod -f mongodb.conf

若无法加载参考2.2

还有什么小问题可以留言探讨下,大bug我也不会 ~

结语:

祝你好运吧,头发日渐稀疏~

展开阅读全文
©️2020 CSDN 皮肤主题: 1024 设计师: 上身试试 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值