一说

前情提示

系统:

centos7.4;

MongoDB4.2.5;

西数云服务器;

  1. 下载

进入官方,可以选择企业版下载(当然了,收费的),也可以选择社区版,类似MySQL,这里选择MongoDB社区版下载:https://www.mongodb.com/download-center/community

选择好对应的版本,下载:

在这里插入图片描述

你可以下载好,然后通过上传文件到服务器,或者直接使用以下命令:

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.5.tgz

可能出现龟速情况,建议还是本地下载然后上传较快点。

  1. 解压

进入文件目录,进行解压,根据实际情况换成你自己的目录:

tar -zxvf /server/backup/yapi_soft/mongodb-linux-x86_64-rhel70-4.2.5.tgz

  1. 移动并重命名

mv /server/backup/yapi_soft/mongodb-linux-x86_64-rhel70-4.2.5 /usr/local/mongodb

  1. 配置环境变量

vi /etc/profile,文末加入以下内容:

1
2
export MONGODB_HOME=/usr/local/mongodb
export PATH=$PATH:$MONGODB_HOME/bin

刷新,立即生效:source /etc/profile

  1. 创建数据存放目录和日志目录

进入安装目录:cd /usr/local/mongodb

1
2
[root@ebs-40617 mongodb]# mkdir -p data/db
[root@ebs-40617 mongodb]# mkdir -p logs
  1. 设置配置文件

    进入/usr/local/mongodb/bin目录,新建文件vi mongodb.conf,文件内容如下:

    1
    2
    3
    dbpath = /usr/local/mongodb/data/db
    logpath = /usr/local/mongodb/logs/mongodb.log
    port = 27017

    备用:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    port=27017 #端口
    dbpath= /usr/mongodb/mongodb-4.0.10/db #数据库存文件存放目录
    logpath= /usr/mongodb/mongodb-4.0.10/log/mongodb.log #日志文件存放路径
    logappend=true #使用追加的方式写日志
    fork=true #以守护进程的方式运行,创建服务器进程
    maxConns=100 #最大同时连接数
    noauth=true #不启用验证
    journal=true #每次写入会记录一条操作日志(通过journal可以重新构造出写入的数据)。
    #即使宕机,启动时wiredtiger会先将数据恢复到最近一次的checkpoint点,然后重放后续的journal日志来恢复。
    storageEngine=wiredTiger #存储引擎,有mmapv1、wiretiger、mongorocks
    bind_ip = 0.0.0.0 #设置成全部ip可以访问,这样就可以在windows中去连虚拟机的MongoDB,也可以设置成某个网段或者某个ip

    1. 以配置文件方式启动MongoDB
    1
    2
    cd /usr/local/mongodb/bin
    ./mongod -f mongodb.conf

    关闭:./mongod -f ./mongodb.conf --shutdown

    1. 防火墙

    略,因为已经关闭了。

    1. 新建shell窗口,进入bin目录,启动MongoDB

    ./mongo

    在这里插入图片描述

  2. 设置密码

1
2
use admin
db.createUser({user:"admin",pwd:"Rookie123$",roles:["root"]})

在这里插入图片描述

  1. 添加用户

在这里插入图片描述

方式二:yum仓库安装(方便)

  1. 新建仓库

官网文档:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/

vi /etc/yum.repos.d/mongodb-org-4.2.repo

1
2
3
4
5
6
7
8
9
10
11
12
13
[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://mirrors.aliyun.com/mongodb/yum/redhat/7Server/mongodb-org/4.2/x86_64/
gpgcheck=0
enabled=1

或者:
[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://mirrors.aliyun.com/mongodb/yum/redhat/7Server/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc

备用:

1
2
3
4
5
6
[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
  1. 安装
1
sudo yum install -y mongodb-org
  1. 禁用自动升级

vi /etc/yum.conf加入以下内容:

1
exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools
  1. 服务启动与停止
1
2
3
4
sudo service mongod start
systemctl start mongod.service
systemctl restart mongod.service
systemctl status mongod.service

在这里插入图片描述

默认位置:

在这里插入图片描述

  1. 开机启动
1
2
sudo chkconfig mongod on
systemctl enable mongod.service
  1. 配置用户

mongo --port 27017启动MongoDB

use admin

1
2
3
4
5
6
7
8
9
10
11
db.createUser(
{
user: "root",
pwd: "Rookie123$",
roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
}
)
//验证是否成功,返回1则代表成功
db.auth("root", "Rookie123$")
//退出
quit();
  1. 启用身份验证

修改配置文件/etc/mongod.conf,如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# mongod.conf

# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/

# 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:
# 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 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.


# security:这里改动的
security:
authorization: enabled

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options

#auditLog:

#snmp:

重启:systemctl restart mongod.service

  1. 创建数据库和用户
1
2
mongo --port 27017 -u "root" --authenticationDatabase "admin" -p
Rookie123$

在这里插入图片描述

1
2
3
use yapi
db.createUser({user: "yapi", pwd: "Pgz123$", roles: [{ role: "dbOwner", db: "yapi" }]})
db.createUser({user: "test1", pwd: "test1", roles: [{ role: "dbOwner", db: "yapi" }]})
  1. 使用客户端连接测试

浏览器访问会出现如下界面:http://211.149.239.182:27017/

在这里插入图片描述

在这里插入图片描述

  1. 关闭/退出方式

Ctrl+C或者Kill -9 pid或者stop

  1. 关闭防火墙
1
2
3
4
chkconfig iptables off
service iptables stop
systemctl stop firewalld
systemctl disable firewalld
  1. 至此,结束!

其他

官网教程:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/