centos安装mongodb以及远程连接

143 阅读1分钟

安装

本文章参考mongodb官网安装说明进行编写,参考地址:www.mongodb.com/docs/manual…

配置yum源

创建文件/etc/yum.repos.d/mongodb-org-4.2.repo,填入以下内容,切记名称别乱改

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

这里mongodb使用4.2版本

安装 MongoDB

yum install -y mongodb-org

修改MongoDB配置文件

文件路径/etc/mongod.conf

我们先来修改MongoDB的监听地址127.0.0.1和端口27017

net:
  port: 27017
  bindIp: 0.0.0.0

这里修改为0.0.0.0监听本机所有ip

防火墙开放端口

这里以27017端口为例,放行27017端口,然后重启防火墙:

firewall-cmd --zone=public --add-port=27017/tcp --permanent

firewall-cmd --reload

运行 MongoDB

systemctl start mongod

查看是否启动成功

netstat -nptl | grep '27017'

看到下面一行,就说明启动成功了。

tcp        0      0 0.0.0.0:27017           0.0.0.0:*               LISTEN      85493/mongod 

关闭mongodb

systemctl stop mongod

开启自启动

chkconfig mongod on
# 或者
systemctl enable mongod

重启时遇到的问题

MongoDB unregistered authentication error Centos 7

// 解法
rm -rf  /tmp/mongodb-27017.sock

参考链接 请参考底部外链

远程连接

登录客户端

mongo

2.创建超级管理员

db.createUser({user:"账号", pwd:"密码",roles:[{role:"root","db":"admin"}]})

更多内容请查看官网文档

3.查看用户

show users

修改数据库配置

打开文件/etc/mongod.conf

修改配置内容如下

net:
  port: 27017
  bindIp: 0.0.0.0

security:
  authorization: enabled


其中:

  • bindIp改为0.0.0.0,表示不限制ip访问,可远程通过软件访问,默认的配置值是127.0.0.1,即只能本机访问;
  • authorization的配置值为enabled,默认的配置是被注释,即默认值为disabled

重启mongodb

systemctl mongod restart

重启完我们再服务器验证下刚才设置的账号密码是否可用

$ mongo
> db.auth('账号', "密码")

配置云服务提供商的安全组策略

这个安全组策略与上一步的本机服务器防火墙策略类似。比如阿里云的服务器会有安全组策略拦截,需要登录阿里云管理后台进行安全组规则的管理,具体可看阿里云官方的说明。每个云服务提供商都有各自的安全组策略,可自行去了解。当然,如果没有做安全组的策略限制,这一步就可以跳过。

参考连接

MongoDB官网安装教程 MongoDB unregistered authentication error Centos 7