如何在Centos 7/Fedora 31/30/29上安装MongoDB 4.2
欢迎我们关于如何在Centos 7/Fedora 31/30/29/28上安装MongoDB 4.2的教程。
MongoDB是用C ++编写的NoSQL数据库系统的开源数据库系统。
它专为高可扩展性,性能和可用性而设计。
第1步:更新系统
我们始终在更新系统上工作
--- CentOS -- $sudo yum -y update --- Fedora -- $sudo dnf -y update
第2步:添加DNF/YUM MongoDB存储库
在CentOS 7/Fedora 30/29/28上安装MongoDB 4的第一步是将存储库添加到系统。
添加MongoDB 4存储库。
cat <<EOF | sudo tee /etc/yum.repos.d/mongodb.repo [mongodb-4.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.2/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc EOF
第3步:安装MongoDB 4.2上CentOS 7/Fedora 31/30/29
接下来是安装 mongodb-orgCentos 7/Fedora 31/30/29/28的软件包。
在Fedora安装MongoDB 4 31/30/29/28.
sudo dnf -y install mongodb-org
在CentOS 7上安装MongoDB 4:
sudo yum -y install mongodb-org
我们可以使用以下命令查看安装MongoDB的版本:
$mongo -version
MongoDB shell version v4.2.1
git version: edf6d45851c0b9ee15548f0f847df141764a317e
OpenSSL version: OpenSSL 1.0.1e-fips 11 Nov 2013
allocator: tcmalloc
modules: none
build environment:
distmod: rhel70
distarch: x86_64
target_arch: x86_64
安装 mongodb-org包将安装:
MongoDB-Org-Server - 这提供了MongoDB Daemon Mongod Mongodb-Org-Mongos - 这是MongoDB Shard Daemon MongoDB-Org-shell - 这为MongoDB MongoDB-Org-Tools - MongoDB工具提供了用于出口,转储,导入的壳牌等等
第4步:配置MongoDB(可选)
我们可以在开始服务之前自定义MongoDB安装。
标签MongoDB港口
如果在执行模式下有SELinux,则可能需要标记端口 27017
sudo semanage port -a -t mongod_port_t -p tcp 27017
允许防火墙上的MongoDB端口
如果你有活跃 firewalld服务器上的服务,并希望通过网络访问MongoDB服务,允许端口 27017/tcp:
sudo firewall-cmd --add-port=27017/tcp --permanent sudo firewall-cmd --reload
我们还可以基于源地址限制访问权限
sudo firewall-cmd --permanent --add-rich-rule "rule family="ipv4" \ source address="192.168.5.0/24" port protocol="tcp" port="27017" accept"
使用辅助磁盘用于MongoDB数据(可选)
我们可以选择使用专用磁盘来存储MongoDB数据。
第1步:MongoDB数据的分区次级磁盘:
$lsblk | grep vdb vdb 252:16 0 50G 0 disk
第2步:为辅助磁盘创建一个GPT分区表,它可以是多个磁盘:
sudo parted -s -a optimal -- /dev/vdb mklabel gpt sudo parted -s -a optimal -- /dev/vdb mkpart primary 0% 100% sudo parted -s -- /dev/vdb align-check optimal 1
第3步:创建LVM卷,这将使扩展分区很容易:
sudo pvcreate /dev/vdb1 sudo vgcreate vg0 /dev/vdb1 sudo lvcreate -n mongo -l 100%FREE vg0
第4步:创建 XFS创建逻辑卷上的文件系统。
$sudo mkfs.xfs /dev/mapper/vg0-mongo
meta-data=/dev/mapper/vg0-mongo isize=512 agcount=4, agsize=6553344 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=26213376, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=12799, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
步骤5:创建挂载点并安装分区
echo "/dev/mapper/vg0-mongo /var/lib/mongo xfs defaults 0 0" | sudo tee -a /etc/fstab sudo mount -a sudo chown -R mongod:mongod /var/lib/mongo sudo chmod -R 775 /data/mongo
步骤7:确认分区安装挂载成功:
$df -hT | grep /var/lib/mongo /dev/mapper/vg0-mongo xfs 50G 33M 50G 1% /var/lib/mongo
第8步:设置MongoDB数据存储位置
$sudo vim /etc/mongod.conf storage: dbPath: /var/lib/mongo journal: enabled: true
第5步:启动并启用MongoDB服务
最后一步是启动并启用MongoDB服务开始启动
sudo systemctl start mongod.service sudo systemctl enable mongod.service
运行检查状态:
$sudo systemctl status mongod.service
● mongod.service - MongoDB Database Server
Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2019-11-03 07:31:20 UTC; 6s ago
Docs: https://docs.mongodb.org/manual
Main PID: 4381 (mongod)
Memory: 72.0M
CPU: 509ms
CGroup: /system.slice/mongod.service
└─4381 /usr/bin/mongod -f /etc/mongod.conf
Nov 03 07:31:19 fed31.theitroad.com systemd[1]: Starting MongoDB Database Server...
Nov 03 07:31:19 fed31.theitroad.com mongod[4379]: about to fork child process, waiting until server is ready for connections.
Nov 03 07:31:19 fed31.theitroad.com mongod[4379]: forked process: 4381
Nov 03 07:31:20 fed31.theitroad.com mongod[4379]: child process started successfully, parent exiting
Nov 03 07:31:20 fed31.theitroad.com systemd[1]: Started MongoDB Database Server.
Nov 03 07:31:20 fed31.theitroad.com systemd[1]: /usr/lib/systemd/system/mongod.service:16: PIDFile= references a path below legacy directo>

