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关闭防火墙。