Centos6.8 安装mongo3.6以及权限配置和开启外网链接
安装环境和版本说明,以及参考文档链接
- 服务器:阿里云Centos6.8
- Mongo版本:3.6
- 官网文档
- 参考文章:
- Mongo权限配置:http://blog.csdn.net/wangdatao_/article/details/78077774
- SELinux状态查看: http://blog.51cto.com/bguncle/957315
安装MongoDB数据库
- 配置MongoDB的源文件
[root@virde ~]# sudo vim /etc/yum.repos.d/mongodb-enterprise.repo
然后键入以下内容
[mongodb-enterprise]
name=MongoDB Enterprise Repository
baseurl=https://repo.mongodb.com/yum/redhat/$releasever/mongodb-enterprise/3.6/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
- 下载安装包,使用yum install进行安装
[root@virde ~]# sudo yum install -y mongodb-enterprise
运行MongoDB数据库
- 配置SELinux
如果你使用了SELinux,那么必须配置SELinux,不然会影响MongoDB的启动。
If you are using SELinux, you must configure SELinux to allow MongoDB to start on Red Hat Linux-based systems (Red Hat Enterprise Linux or CentOS Linux).
使用/usr/sbin/sestatus -v 命令查看SELinux的状态
[root@virde ~]# /usr/sbin/sestatus -v
SELinux status: disabled
如果是disabled的话就可以略过这一步了
如果是开启状态,那么关闭SELinux即可
[root@virde ~]# vim /etc/selinux/config
然后找到SELINUX改为disabled
SELINUX=disabled
```
* 运行MongoDB
好了,现在可以先把mongo运行起来了。
```bash
[root@virde ~]# sudo service mongod start
Starting mongod: [ OK ]
```
查看 /var/log/mongodb/mongod.log,如果有
[initandlisten] waiting for connections on port 27017
说明MongoDB已经成功运行起来了。
```
[root@virde ~]# tail -f /var/log/mongodb/mongod.log
```
* 停止MongoDB
```bash
[root@virde ~]# sudo service mongod stop
Stopping mongod: [ OK ]
```
* 重启MongoDB
```bash
[root@virde ~]# sudo service mongod restart
Stopping mongod: [ OK ]
Starting mongod: [ OK ]
```
* 进入MongoDB shell
```bash
[root@virde ~]# mongo
MongoDB shell version v3.6.2
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.2
Server has startup warnings:
2018-02-02T16:27:11.395+0800 I STORAGE [initandlisten]
2018-02-02T16:27:11.395+0800 I STORAGE [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
2018-02-02T16:27:11.395+0800 I STORAGE [initandlisten] ** See http://dochub.mongodb.org/core/prodnotes-filesystem
2018-02-02T16:27:11.927+0800 I CONTROL [initandlisten]
2018-02-02T16:27:11.927+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2018-02-02T16:27:11.927+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2018-02-02T16:27:11.927+0800 I CONTROL [initandlisten]
2018-02-02T16:27:11.927+0800 I CONTROL [initandlisten]
2018-02-02T16:27:11.927+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2018-02-02T16:27:11.927+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2018-02-02T16:27:11.927+0800 I CONTROL [initandlisten]
2018-02-02T16:27:11.927+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2018-02-02T16:27:11.927+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2018-02-02T16:27:11.927+0800 I CONTROL [initandlisten]
2018-02-02T16:27:11.927+0800 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 1024 processes, 65535 files. Number of processes should be at least 32767.5 : 0.5 times number of files.
2018-02-02T16:27:11.927+0800 I CONTROL [initandlisten]
>
```
## 删除卸载MongoDB
```bash
[root@virde ~]# sudo service mongod stop
[root@virde ~]# sudo yum erase $(rpm -qa | grep mongodb-enterprise)
[root@virde ~]# sudo rm -r /var/log/mongodb
[root@virde ~]# sudo rm -r /var/lib/mongo
```
## 配置MongoDB管理员用户
> 必须先配置管理员用户,才能开启权限
在MongoDB shell命令行中执行以下命令
```bash
> use admin ;
> db.createUser({
... user:"adminUser",
... pwd:"thisisyourpass",
... roles:[{role:"root",db:"admin"}]
... });
```
## 修改配置文件,允许外网链接
```bash
[root@virde ~]# vim /etc/mongod.conf
```
配置文件如下
```
# 将bindIp改为0.0.0.0
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0 # Listen to local interface only, comment to listen on all interfaces.
# 开启权限认证
security:
authorization: enabled
```
修改后的完整文件如下:
```
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# Where and how to store data.
storage:
dbPath: /var/lib/mongo
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# how the process runs
processManagement:
fork: true # fork and run in background
pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile
timeZoneInfo: /usr/share/zoneinfo
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0 # Listen to local interface only, comment to listen on all interfaces.
security:
authorization: enabled
```
重启MongoDB。
```
[root@virde ~]# sudo service mongod restart
Stopping mongod: [ OK ]
Starting mongod: [ OK ]
```
## 安装配置完成,使用Robo3T测试链接
![](http://res.virde.cn/img/chun/blog/201802/1517561259245.png)
## 总结
* 其实整个安装过程并不复杂,但是各种配置实在头疼。
* 官方文档真的是最棒的!但是看不懂英文就很恶心。