在linux中 部署 mongo 数据库服务端

1 首先需要一台linux服务器(我用的redhat linux,其它的也大同小异),

玩一玩的话,推荐亚马逊上面去创建一个免费的linux服务器,有关具体创建linux服务器不在这赘述。

https://us-west-2.console.aws.amazon.com/ec2/v2/home?region=us-west-2#Instances:sort=instanceId

2 安装MongoDB3.4社区版,配置MongoDB的yum源,输入命令:(最好用root登录,如果不是请在命令前加 sudu 命令)

vim /etc/yum.repos.d/mongodb-org-3.4.repo  

  

vim /etc/yum.repos.d/mongodb-org-3.4.repo  

按 i 进入编辑模式,输入一下内容:

[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

 然后按Esc  按 :wq  保存并且推出vim

3 开始安装命令

 yum install mongodb-org

4 出现 Complete! 字样 安装成功后 配置SELinux

setenforce 0 

5 此时是可以启动mongo了

systemctl start mongod.service

 然后输入以下命令查看是否启动成功了

systemctl status mongod.service

 出现的结果中有  active(running)的字样代表启动成功

6 此时还不能用客户端连接成功,还需要防火墙配置  

如果是亚马逊的服务器,需要到亚马逊服务器管理平台上去设置27017端口

进入ec2管理面板,点击安全组,选择linux实例,点击下面的入站

然后在linux服务器直接关闭防火墙(我用的是做测试用的,其实不关闭防火墙 只需开放27017端口也行的)

systemctl disable firewalld  #永久关闭
systemctl stop firewalld    #暂时关闭 下次重启还有

设置开机启动

systemctl enable mongod.service 

还需mongodb远程访问 编辑mongod.conf注释bindIp(bindIp前面加#),并重启mongodb. 

vim /etc/mongod.conf  

 

重新启动mongo

systemctl restart mongod.service

以下附上几个其它的命令 

#停止命令
systemctl start mongod
#删除安装包
yum erase $(rpm -qa | grep mongodb-org)
#删除数据目录 
rm -r /var/log/mongodb rm -r /var/lib/mongo

7重启mongo后就可以直接用mongo客户端工具连接了,此时验证方式选择none

8 登录进去后就可以用客户端创建其它用户了,当然也可以直接用mongo shell操作

启动mongo shell

mongo

输入

use admin;
db.createUser({user:"jiang232",pwd:"jiang233",roles:["dbAdminAnyDatabase","readWriteAnyDatabase","root"]})

开启登录认证机制后,方可用用户名密码登录,否则得用7步骤的登录方式

vim /etc/mongod.conf
#追加上
security:
    authorization: "enabled"

然后重启mongo

#重启mongo服务
systemctl restart mongod

此时用客户端连接,用刚刚创建的超级管理员账号 jiang232  输入密码, 登录验证方式也变了。

到此mongo服务端已经完成创建,并客户端能够连接。

遇到的问题总结一下,主要是端口的问题,27017 端口开放需要3重设置,1亚马逊端配置,2配置SELinux   3关闭防火墙。

  

原文地址:https://www.cnblogs.com/fj99/p/6519948.html