1.关闭seinux和防火墙
2.关闭大页内存机制
...
在vi /etc/rc.local最后添加如下代码
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
...
3.下载对应软件:[https://docs.mongodb.com/manual/installation/#mongodb-community-edition-installation-tutorials]
4.配置mongodb所需的文件
#### 1.创建配置文件
...
useradd mongod --创建管理用户
passwd mongod --自定义密码
...
#### 2.创建文件目录
...
mkdir -p /mongodb/conf --配置文件目录
mkdir -p /mongodb/log --日志目录
mkdir -p /mongodb/data --数据目录
...
#### 3.上传文件到系统,并解压配置
#### 4.拷贝解压文件目录下bin程序到/mongodb
cp -a /server/tools/mongodb-linux-x86_64-rhel70-3.2.16/bin /mongodb
#### 5.设置目录结构权限
chown -R mongod:mongod /mongodb
#### 6.根据mongod定义用户态的环境变量
...
su - mongod --进入到mongod管理用户
vim .bash_profile --编辑用户态的环境变量文件
export PATH=/mongodb/bin:$PATH
source .bash_profile --重载配置文件
...
#### 7.启动mongodb
su - mongod --进入用户,进入数据库初始化
mongod --dbpath=/mongodb/data --logpath=/mongodb/log/mongodb.log --port=27017 --logappend --fork
5.管理mongodb
mongod -f /mongodb/conf/mongodb.conf --关闭
mongod -f /mongodb/conf/mongodb.conf --启动
6.配置基于YAML的配置文件
cat > /mongodb/conf/mongo.conf <<EOF
systemLog:
destination: file
path: "/mongodb/log/mongodb.log"
logAppend: true
storage:
journal:
enabled: true
dbPath: "/mongodb/data/"
processManagement:
fork: true
net:
port: 27017
bindIp: 192.168.6.158,127.0.0.1
EOF
参数说明:
--系统日志有关
systemLog:
destination: file
path: "/mongodb/log/mongodb.log" --日志位置
logAppend: true --日志以追加模式记录
--数据存储有关
storage:
journal: --是否开启日志
enabled: true
dbPath: "/mongodb/data" --数据路径的位置
-- 进程控制
processManagement:
fork: true --后台守护进程
pidFilePath: <string> --pid文件的位置,一般不用配置,可以去掉这行,自动生成到data中
--网络配置有关
net:
bindIp: <ip> -- 监听地址,如果不配置这行是监听在0.0.0.0
port: <port> -- 端口号,默认不配置端口号,是27017
-- 安全验证有关配置
security:
authorization: enabled --是否打开用户名密码验证
重启服务
补充:红帽7,使用systemd方式启动MongoDB(root用户管理下)
[root@db ~]# cat > /etc/systemd/system/mongod.service <<EOF
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
User=mongod
Type=forking
ExecStart=/mongodb/bin/mongod --config /mongodb/conf/mongo.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/mongodb/bin/mongod --config /mongodb/conf/mongo.conf --shutdown
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF