当前位置:首页 > 行业动态 > 正文

如何在Linux上配置MongoDB?

要配置 Linux 上的 MongoDB,首先安装 MongoDB,然后编辑 /etc/mongod.conf 文件以设置数据库路径、日志输出和网络绑定等参数。

MongoDB在Linux环境下的配置

如何在Linux上配置MongoDB?  第1张

一、安装与配置步骤详解

1.前期准备

确保系统已关闭防火墙和SELinux,并安装必要的依赖组件。

systemctl stop firewalld
setenforce 0
yum groupinstall -y 'Development Tools'
yum install -y lrzsz

2.配置主机名和hosts文件

编辑/etc/hosts文件,添加各服务器的IP地址和对应的主机名。

vim /etc/hosts
示例
192、168.192.100 master
192、168.192.111 slave1
192、168.192.112 slave2
192、168.192.113 arbiter

分别在每台主机上修改主机名:

hostnamectl set-hostname master
hostnamectl set-hostname slave1
hostnamectl set-hostname slave2
hostnamectl set-hostname arbiter

3.上传并解压安装包

将MongoDB安装包上传到每台服务器,然后解压。

tar -zxf mongodb-linux-x86_64-rhel70-5.0.0.tgz
mv mongodb-linux-x86_64-rhel70-5.0.0 /usr/local/mongodb

4.配置MongoDB环境变量

编辑/etc/profile文件,添加以下内容:

export PATH=$PATH:/usr/local/mongodb/bin

加载新的环境变量:

source /etc/profile
echo $PATH

5.初始化MongoDB配置文件

创建数据和日志目录:

mkdir -p /data/mongodb/{db,log}
ls /data/mongodb/

添加MongoDB用户并赋权:

useradd -M -s /sbin/nologin mongo
chown -R mongo:mongo /data/mongodb/

编辑MongoDB配置文件:

vim /etc/mongodb.conf

添加以下内容:

bind_ip=0.0.0.0
dbpath=/data/mongodb/db
logpath=/data/mongodb/log/mongodb.log
port=27017
logappend=true
fork=true
noauth=true
replSet=rs0

6.配置MongoDB服务

创建systemd服务文件:

vim /etc/systemd/system/mongodb.service

添加以下内容:

[Unit]
Description=mongodb
After=network.service
[Service]
Type=forking
ExecStart=/usr/local/mongodb/bin/mongod -f /etc/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

7.启动MongoDB服务

重新加载systemd配置,启动MongoDB服务:

systemctl daemon-reload
systemctl start mongodb
systemctl status mongodb
netstat -nultp | grep mongod

8.配置MongoDB主从集群

连接主服务器并进入MongoDB:

mongo
rs.initiate({
    _id: "rs0",
    members: [
        { _id: 0, host: "192.168.192.100:27017", priority: 9 },
        { _id: 1, host: "192.168.192.111:27017", priority: 1 },
        { _id: 2, host: "192.168.192.112:27017", priority: 1 },
        { _id: 3, host: "192.168.192.113:27017", arbiterOnly: true }
    ]
})

查看集群状态:

rs0:SECONDARY> rs.status()

"set": "rs0",

二、常见问题与解答(FAQ)

Q1: 如何更改MongoDB监听的IP地址?

A1: 编辑MongoDB配置文件/etc/mongodb.conf,将bind_ip设置为所需的IP地址或0.0.0.0以允许所有IP访问,设置为0.0.0.0可以允许外部访问,保存文件后重新启动MongoDB服务。

bind_ip=0.0.0.0
systemctl restart mongodb

Q2: 如何在生产环境中启用MongoDB的用户认证?

A2: 编辑MongoDB配置文件/etc/mongodb.conf,设置auth=true,然后重启MongoDB服务,使用mongo命令行工具连接到MongoDB并创建管理员用户。

auth=true
systemctl restart mongodb
mongo admin --eval "db.createUser({user: 'admin', pwd: 'password', roles: ['root']});"

小伙伴们,上文介绍了“linux mongodb 配置”的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。

0