0%

Centos 7 离线安装 MongoDB 3.6.3

详细描述在Centos 7上如何通过下载的方式安装 MongoDB 3.6.3

Linux 环境

CentOS 7.6 64位

禁用 THP

数据库应用对内存的访问一般都是稀疏访问模式而很少是连续访问模式,如果启用大页面会导致更多的磁盘 IO。
编辑/etc/rc.d/rc.local文件,在最后添加如下内容:

1
2
3
4
5
6
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi

保存退出,然后赋予rc.local文件执行权限:

1
# chmod +x /etc/rc.d/rc.local

重启系统,再检查THP应该就是被禁用了

1
2
3
4
5
# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]

# cat /sys/kernel/mm/transparent_hugepage/defrag
always madvise [never]

下载

1
# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.3.tgz

安装

解压文件

1
# tar zxvf mongodb-linux-x86_64-3.6.3.tgz

将解压后的文件夹移动到/usr/local/目录下

1
# mv mongodb-linux-x86_64-3.6.3 /usr/local/mongodb

创建数据文件夹、日志文件夹、配置文件夹

1
# mkdir -p /data/mongodb/{db,logs,conf}

创建配置文件

1
# touch /data/mongodb/conf/mongodb.conf

将如下内容拷贝到配置文件中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 数据存放目录
dbpath=/data/mongodb/db

# 存放日志路径, 要先把目录新建好
logpath=/data/mongodb/logs/mongodb.log

# 布尔值, 是否追加方式记录日志
logappend=true

# mongodb绑定的ip地址,127.0.0.1只允许本机访问,如果想让其他主机能访问请修改为0.0.0.0
bind_ip=0.0.0.0

# 端口号,默认为27017
port=27017

# 设置oplog的大小(MB)
oplogSize=10000

# 以后台方式运行进程
fork=true

# 启用日志文件,默认启用,生产环境强烈推荐打开
journal=true

环境变量配置,在/etc/profile中加入如下内容

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

使环境变量生效

1
# source /etc/profile

启动

服务端

启动

1
# /usr/local/mongodb/bin/mongod --config /data/mongodb/conf/mongodb.conf

停止

1
# /usr/local/mongodb/bin/mongod --config /data/mongodb/conf/mongodb.conf --shutdown

客户端

启动,执行/usr/local/mongodb/bin/mongo

1
2
3
4
5
6
7
8
9
10
11
12
[root@172 mongodb]# /usr/local/mongodb/bin/mongo
MongoDB shell version v3.6.3
connecting to: mongodb://127.0.0.1:27017/test
MongoDB server version: 3.6.3
Server has startup warnings:
2020-03-10T07:12:27.277+0000 I CONTROL [initandlisten]
2020-03-10T07:12:27.277+0000 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2020-03-10T07:12:27.277+0000 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2020-03-10T07:12:27.277+0000 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2020-03-10T07:12:27.278+0000 I CONTROL [initandlisten]
>

每次都输入这么长的路径比较麻烦,所以我们添加个映射

1
# ln -s /usr/local/mongodb/bin/mongo /usr/local/bin/mongo

以后我们就可以直接用mongo命令来启动

1
# mongo