当前位置:网站首页>MongoDB安装 & 部署
MongoDB安装 & 部署
2022-07-03 03:17:00 【Johnny.G】
1、rpm包安装
1)寻找yum源
首先找到国内一些开源镜像站(此处选择清华大学的开源镜像站)
从中找到MongoDB
点击进去之后选择yum
选择下方所需版本(此处选中4.4)
复制下方图片红框中的url链接(为后面编写yum源做准备)【https://mirrors.tuna.tsinghua.edu.cn/mongodb/yum/el7-4.4/】
2)配置MongoDB的yum源文件
[[email protected] ~]# vim /etc/yum.repos.d/mongodb.repo
//如果配置过红帽Linux的yum源,应该都明白此步骤的目的
[mongodb]
name=mongodb //yum源的名字(建议与上方标题一样)
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mongodb/yum/el7-4.4/
//此处url选择上面刚刚复制的url
gpgcheck=0 //表示不检查签名信息
3)查看MongoDB的安装包(确认yum源是否可用)
[[email protected] ~]# yum list | grep mongo
mongodb-database-tools.x86_64 100.5.2-1 @mongodb
mongodb-org.x86_64 4.4.14-1.el7 @mongodb
mongodb-org-database-tools-extra.x86_64 4.4.14-1.el7 @mongodb
mongodb-org-mongos.x86_64 4.4.14-1.el7 @mongodb
mongodb-org-server.x86_64 4.4.14-1.el7 @mongodb
mongodb-org-shell.x86_64 4.4.14-1.el7 @mongodb
mongodb-org-tools.x86_64 4.4.14-1.el7 @mongodb
google-noto-sans-mongolian-fonts.noarch 20141117-5.el7 base
mongocli.x86_64 1.25.0-1 mongodb
mongodb-atlas-cli.x86_64 1.1.0-1 mongodb
mongodb-mongosh.x86_64 1.4.2-1.el8 mongodb
4)安装
[[email protected] ~]# yum install mongo-org.x86_64 -y
5)开启MongoDB服务 & 开启MongoDB开机自启
[[email protected] ~]# systemctl start mongod
[[email protected] ~]# systemctl enable mongod
6)检查服务是否开启(多种方法)
方法一:
[[email protected] ~]# systemctl status mongod
● mongod.service - MongoDB Database Server
Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2022-06-01 20:20:49 CST; 21min ago
Docs: https://docs.mongodb.org/manual
Process: 945 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=0/SUCCESS)
Process: 942 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS)
Process: 939 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (code=exited, status=0/SUCCESS)
Process: 936 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS)
Main PID: 983 (mongod)
CGroup: /system.slice/mongod.service
└─983 /usr/bin/mongod -f /etc/mongod.conf
Jun 01 20:20:47 localhost.localdomain systemd[1]: Starting MongoDB Database Server...
Jun 01 20:20:47 localhost.localdomain mongod[945]: about to fork child process, waiting....
Jun 01 20:20:47 localhost.localdomain mongod[945]: forked process: 983
Jun 01 20:20:49 localhost.localdomain mongod[945]: child process started successfully, ...g
Jun 01 20:20:49 localhost.localdomain systemd[1]: Started MongoDB Database Server.
Hint: Some lines were ellipsized, use -l to show in full.
方法二:
[[email protected] ~]# ps -ef | grep mongod
mongod 983 1 0 20:20 ? 00:00:06 /usr/bin/mongod -f /etc/mongod.conf
root 2333 1296 0 20:40 pts/0 00:00:00 grep --color=auto mongod
方法三:
[[email protected] ~]# netstat -lnupt | grep 27017
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 983/mongod
方法四:
[[email protected] ~]# lsof -i tcp:27017
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mongod 983 mongod 11u IPv4 18211 0t0 TCP localhost:27017 (LISTEN)
7)使用MongoDB
[[email protected] ~]# mongo
MongoDB shell version v4.4.14
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session {
"id" : UUID("ae06ee2e-558f-4885-bcf9-73263de9ac0c") }
MongoDB server version: 4.4.14
---
The server generated these startup warnings when booting:
2022-06-01T20:20:49.209+08:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted
2022-06-01T20:20:49.210+08:00: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. We suggest setting it to 'never'
2022-06-01T20:20:49.210+08:00: /sys/kernel/mm/transparent_hugepage/defrag is 'always'. We suggest setting it to 'never'
---
---
Enable MongoDB's free cloud-based monitoring service, which will then receive and display
metrics about your deployment (disk utilization, CPU, operation statistics, etc).
The monitoring data will be available on a MongoDB website with a unique URL accessible to you
and anyone you share the URL with. MongoDB may use this information to make product
improvements and to suggest MongoDB products and deployment options to you.
To enable free monitoring, run the following command: db.enableFreeMonitoring()
To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
---
>
2、源码安装
1)获取对应的MongoDB源码安装包(此处选择4.4.14版本)
[[email protected] ~]#wget -c https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.14.tgz
[[email protected] ~]# ll //查看下载结果
total 70708
-rw-------. 1 root root 1392 Mar 26 17:20 anaconda-ks.cfg
-rw-r--r-- 1 root root 72399766 May 4 23:03 mongodb-linux-x86_64-rhel70-4.4.14.tgz
2)解压源码安装包
[[email protected] ~]# tar xf mongodb-linux-x86_64-rhel70-4.4.14.tgz -C /usr/local/
//解压至“/usr/local”目录下
[[email protected] ~]# ll -d /usr/local/mongodb-linux-x86_64-rhel70-4.4.14/
drwxr-xr-x 5 root root 123 May 28 23:40 /usr/local/mongodb-linux-x86_64-rhel70-4.4.14/
//可以看到已经解压成功
3)创建软链接(起名mongodb)【方便】:
[[email protected] ~]# ln -sv mongodb-linux-x86_64-rhel70-3.4.7/ /usr/local/mongodb
4)创建环境变量:
[[email protected] ~]# echo "export PATH=$PATH:/usr/local/mongodb/bin" > /etc/profile.d/mongo.sh
[[email protected] ~]# source /etc/profile.d/mongo.sh
//注:一定要执行此步骤,否则最后无法通过“mongo”命令使用MongoDB
5)创建对应的系统组 & 系统用户
[[email protected] ~]# groupadd -g 996 -r mongod
[[email protected] ~]# useradd -u 997 -g 996 -r -c mongod -d /var/lib/mongo -s /bin/false mongod
//根据系统用户要求,创建对应目录:
[[email protected] ~]# mkdir /var/lib/mongo
[[email protected] ~]# chown -R mongod:mongod /var/lib/mongo/
//查看创建结果:
[[email protected] ~]# grep mongod /etc/passwd
mongod:x:997:996:mongod:/var/lib/mongo:/bin/false
[[email protected] ~]# id mongod
uid=997(mongod) gid=996(mongod) groups=996(mongod)
6)创建主配置文件mongod.conf(网上找模板 & 搬运rpm包安装的主配置文件)
[[email protected] ~]# vim /usr/local/mongodb/bin/mongod.conf
systemLog:
destination: file #以文件形式输出日志文件,输入file之前,需要空格
path: /usr/local/mongodb/log/mongodb.log #表示存储日志文件
logAppend: true #日志是追加模式,false是覆盖模式
storage:
dbPath: /usr/local/mongodb/data #表示存储mongodb数据库文件目录
processManagement:
fork: true #作为后台服务运行
#net:
# bindIp: 127.0.0.1
# port: 27017
#security:
# authorization:enabled
7)创建主配置文件中指定的所需目录(数据目录 & 日志目录) & 指定的日志文件(不会自动创建)【不创建启动会报错】
[[email protected] ~]# mkdir -p /usr/local/mongodb/{
data,log}
[[email protected] ~]# touch /usr/local/mongodb/log/mongodb.log
8)编写systemctl启动 / 关闭 / 重启脚本(上网找模板 & 搬运rpm包安装的脚本)
[[email protected] ~]# vim /usr/lib/systemd/system/mongod.service
[Unit]
Description=mongodb service daemon
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/bin/mongod.conf
#调用启动服务的命令,并且指定服务主配置文件的路径
ExecStop=/usr/local/mongodb/bin/mongod --shutdown -f /usr/local/mongodb/bin/mongod.conf
#调用关闭服务的命令,并且指定服务主配置文件的路径
PrivateTmp=true
[Install]
WantedBy=multi-user.target
开启MongoDB服务:
[[email protected] ~]# systemctl start mongod
9)检查服务是否开启(多种方法)
方法一:
[[email protected] ~]# systemctl status mongod
● mongod.service - mongodb service daemon
Loaded: loaded (/usr/lib/systemd/system/mongod.service; disabled; vendor preset: disabled)
Active: active (running) since Wed 2022-06-01 21:11:46 CST; 5s ago
Process: 1352 ExecStart=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/bin/mongod.conf (code=exited, status=0/SUCCESS)
Main PID: 1354 (mongod)
CGroup: /system.slice/mongod.service
└─1354 /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/bin/mongod.conf
Jun 01 21:11:44 localhost.localdomain systemd[1]: Starting mongodb service daemon...
Jun 01 21:11:44 localhost.localdomain mongod[1352]: about to fork child process, waitin....
Jun 01 21:11:44 localhost.localdomain mongod[1352]: forked process: 1354
Jun 01 21:11:46 localhost.localdomain mongod[1352]: child process started successfully,...g
Jun 01 21:11:46 localhost.localdomain systemd[1]: Started mongodb service daemon.
Hint: Some lines were ellipsized, use -l to show in full.
方法二:
[[email protected] ~]# ps -ef | grep mongod
root 1354 1 1 21:11 ? 00:00:02 /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/bin/mongod.conf
root 1547 1187 0 21:14 pts/0 00:00:00 grep --color=auto mongod
方法三:
[[email protected] ~]# ps -ef | grep mongod
root 1354 1 1 21:11 ? 00:00:02 /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/bin/mongod.conf
root 1547 1187 0 21:14 pts/0 00:00:00 grep --color=auto mongod
[[email protected] ~]# netstat -lnupt | grep 27017
tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 1354/mongod
方法四:
[[email protected] ~]# lsof -i tcp:27017
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mongod 1354 root 12u IPv4 21147 0t0 TCP *:27017 (LISTEN)
10)使用MongoDB
[[email protected] ~]# mongo
MongoDB shell version v4.4.14
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session {
"id" : UUID("30c2e185-ca3c-45f1-98d2-d4560308df52") }
MongoDB server version: 4.4.14
---
The server generated these startup warnings when booting:
2022-06-01T21:11:46.164+08:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted
2022-06-01T21:11:46.164+08:00: You are running this process as the root user, which is not recommended
2022-06-01T21:11:46.164+08:00: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. We suggest setting it to 'never'
2022-06-01T21:11:46.164+08:00: /sys/kernel/mm/transparent_hugepage/defrag is 'always'. We suggest setting it to 'never'
2022-06-01T21:11:46.164+08:00: Soft rlimits too low
2022-06-01T21:11:46.164+08:00: currentValue: 1024
2022-06-01T21:11:46.164+08:00: recommendedMinimum: 64000
---
---
Enable MongoDB's free cloud-based monitoring service, which will then receive and display
metrics about your deployment (disk utilization, CPU, operation statistics, etc).
The monitoring data will be available on a MongoDB website with a unique URL accessible to you
and anyone you share the URL with. MongoDB may use this information to make product
improvements and to suggest MongoDB products and deployment options to you.
To enable free monitoring, run the following command: db.enableFreeMonitoring()
To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
---
>
边栏推荐
- Force freeing memory in PHP
- MySQL Real combat 45 [SQL query and Update Execution Process]
- Compare float with 0
- [Chongqing Guangdong education] cultural and natural heritage reference materials of China University of Geosciences (Wuhan)
- Node start server
- Installation and use of memory leak tool VLD
- QT based tensorrt accelerated yolov5
- 45 lectures on MySQL [index]
- Don't use the new Dede collection without the updated Dede plug-in
- Why does thread crash not cause JVM crash
猜你喜欢

Segmentation fault occurs during VFORK execution

Spark on yarn资源优化思路笔记

Lvgl usage experience

Creation and destruction of function stack frame

MySql实战45讲【SQL查询和更新执行流程】

Pat class B "1104 forever" DFS optimization idea

Gavin teacher's perception of transformer live class - rasa project's actual banking financial BOT Intelligent Business Dialogue robot architecture, process and phenomenon decryption through rasa inte

Application of derivative in daily question

TCP handshake three times and wave four times. Why does TCP need handshake three times and wave four times? TCP connection establishes a failure processing mechanism

Summary of determinant knowledge points in Chapter 1 of Linear Algebra (Jeff's self perception)
随机推荐
Parameter index out of range (1 > number of parameters, which is 0)
900W+ 数据,从 17s 到 300ms,如何操作
Idea set method call ignore case
45 lectures on MySQL [index]
监听对象中值变化及访问
VS 2019 配置tensorRT生成engine
How do you adjust the scope of activerecord Association in rails 3- How do you scope ActiveRecord associations in Rails 3?
Vs Code configure virtual environment
Docker install MySQL
Pytorch轻量级可视化工具wandb(local)
Variable declarations following if statements
模糊查询时报错Parameter index out of range (1 > number of parameters, which is 0)
LVGL使用心得
MySql实战45讲【SQL查询和更新执行流程】
TCP handshake three times and wave four times. Why does TCP need handshake three times and wave four times? TCP connection establishes a failure processing mechanism
MySql实战45讲【索引】
从输入URL到页面展示这中间发生了什么?
Change cell color in Excel using C - cell color changing in Excel using C
MySql實戰45講【SQL查詢和更新執行流程】
MySQL practice 45 [SQL query and update execution process]