Linux Centos7 服务器安装MongoDB,启动,远程管理
作者: 松宝写代码
年轻需要折腾,因为总在本地调试MongoDB,希望可以部署到服务器中,进行远程登陆管理。这回算是折腾上MongoDB的数据库。以下是详细的在Linux Centos7 服务器安装MongoDB,启动,远程管理数据库的教程。
一、前言
Linux Centos7 服务器安装MongoDB,启动,远程管理等功能。我们这次使用yum安装包的方式。
二、查看服务器的Centos的版本
cat /etc/os-release
输出
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
可以看出来是Centos系统版本是 7
三、安装Mongodb
配置系统yum的源
1. 创建.repo文件,生成mongodb的源
vi /etc/yum.repos.d/mongodb-org-4.2.repo
2、添加配置信息
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
- name:指的是名称
- baseurl:获得下载的路径
- gpgcheck:表示对从这个源下载的rpm包进行校验
- enabled:表示启用这个源
- gpgkey:gpg验证
3、保存退出
:wq
使用yum安装Mongodb
1、安装
sudo yum install -y mongodb-org
执行过程
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
base | 3.6 kB 00:00
docker-ce-stable | 3.5 kB 00:00
epel | 4.7 kB 00:00
extras | 2.9 kB 00:00
google-chrome | 1.3 kB 00:00
mongodb-org-4.4 | 2.5 kB 00:00
mysql-connectors-community | 2.6 kB 00:00
mysql-tools-community | 2.6 kB 00:00
mysql56-community | 2.6 kB 00:00
updates | 2.9 kB 00:00
正在解决依赖关系
--> 正在检查事务
---> 软件包 mongodb-org.x86_64.0.4.4.6-1.el7 将被 安装
--> 正在处理依赖关系 mongodb-org-shell = 4.4.6,它被软件包 mongodb-org-4.4.6-1.el7.x86_64 需要
--> 正在处理依赖关系 mongodb-org-tools = 4.4.6,它被软件包 mongodb-org-4.4.6-1.el7.x86_64 需要
--> 正在处理依赖关系 mongodb-org-server = 4.4.6,它被软件包 mongodb-org-4.4.6-1.el7.x86_64 需要
--> 正在处理依赖关系 mongodb-org-mongos = 4.4.6,它被软件包 mongodb-org-4.4.6-1.el7.x86_64 需要
--> 正在检查事务
---> 软件包 mongodb-org-mongos.x86_64.0.4.4.6-1.el7 将被 安装
---> 软件包 mongodb-org-server.x86_64.0.4.4.6-1.el7 将被 安装
---> 软件包 mongodb-org-shell.x86_64.0.4.4.6-1.el7 将被 安装
---> 软件包 mongodb-org-tools.x86_64.0.4.4.6-1.el7 将被 安装
--> 正在处理依赖关系 mongodb-org-database-tools-extra = 4.4.6,它被软件包 mongodb-org-tools-4.4.6-1.el7.x86_64 需要
--> 正在处理依赖关系 mongodb-database-tools,它被软件包 mongodb-org-tools-4.4.6-1.el7.x86_64 需要
--> 正在检查事务
---> 软件包 mongodb-database-tools.x86_64.0.100.3.1-1 将被 安装
--> 正在处理依赖关系 cyrus-sasl-gssapi,它被软件包 mongodb-database-tools-100.3.1-1.x86_64 需要
--> 正在处理依赖关系 cyrus-sasl-plain,它被软件包 mongodb-database-tools-100.3.1-1.x86_64 需要
--> 正在处理依赖关系 cyrus-sasl,它被软件包 mongodb-database-tools-100.3.1-1.x86_64 需要
---> 软件包 mongodb-org-database-tools-extra.x86_64.0.4.4.6-1.el7 将被 安装
--> 正在检查事务
---> 软件包 cyrus-sasl.x86_64.0.2.1.26-23.el7 将被 安装
---> 软件包 cyrus-sasl-gssapi.x86_64.0.2.1.26-23.el7 将被 安装
---> 软件包 cyrus-sasl-plain.x86_64.0.2.1.26-23.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
================================================================================
Package 架构 版本 源 大小
================================================================================
正在安装:
mongodb-org x86_64 4.4.6-1.el7 mongodb-org-4.4 6.2 k
为依赖而安装:
cyrus-sasl x86_64 2.1.26-23.el7 base 88 k
cyrus-sasl-gssapi x86_64 2.1.26-23.el7 base 41 k
cyrus-sasl-plain x86_64 2.1.26-23.el7 base 39 k
mongodb-database-tools x86_64 100.3.1-1 mongodb-org-4.4 50 M
mongodb-org-database-tools-extra x86_64 4.4.6-1.el7 mongodb-org-4.4 19 k
mongodb-org-mongos x86_64 4.4.6-1.el7 mongodb-org-4.4 17 M
mongodb-org-server x86_64 4.4.6-1.el7 mongodb-org-4.4 22 M
mongodb-org-shell x86_64 4.4.6-1.el7 mongodb-org-4.4 14 M
mongodb-org-tools x86_64 4.4.6-1.el7 mongodb-org-4.4 6.1 k
事务概要
================================================================================
安装 1 软件包 (+9 依赖软件包)
总计:103 M
总下载量:64 M
安装大小:413 M
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
警告:/var/cache/yum/x86_64/7/mongodb-org-4.4/packages/mongodb-database-tools-100.3.1.x86_64.rpm: 头V3 RSA/SHA1 Signature, 密钥 ID 90cfb1f5: NOKEY
mongodb-database-tools-100.3.1.x86_64.rpm 的公钥尚未安装
(1/3): mongodb-database-tools-100.3.1.x86_64.rpm | 50 MB 00:24
(2/3): mongodb-org-tools-4.4.6-1.el7.x86_64.rpm | 6.1 kB 00:00
(3/3): mongodb-org-shell-4.4.6-1.el7.x86_64.rpm | 14 MB 06:30
--------------------------------------------------------------------------------
总计 167 kB/s | 64 MB 06:32
从 https://www.mongodb.org/static/pgp/server-4.4.asc 检索密钥
导入 GPG key 0x90CFB1F5:
用户ID : "MongoDB 4.4 Release Signing Key <packaging@mongodb.com>"
指纹 : 2069 1eec 3521 6c63 caf6 6ce1 6564 08e3 90cf b1f5
来自 : https://www.mongodb.org/static/pgp/server-4.4.asc
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : cyrus-sasl-2.1.26-23.el7.x86_64 1/10
正在安装 : mongodb-org-database-tools-extra-4.4.6-1.el7.x86_64 2/10
正在安装 : cyrus-sasl-gssapi-2.1.26-23.el7.x86_64 3/10
正在安装 : mongodb-org-shell-4.4.6-1.el7.x86_64 4/10
正在安装 : cyrus-sasl-plain-2.1.26-23.el7.x86_64 5/10
正在安装 : mongodb-database-tools-100.3.1-1.x86_64 6/10
正在安装 : mongodb-org-tools-4.4.6-1.el7.x86_64 7/10
正在安装 : mongodb-org-server-4.4.6-1.el7.x86_64 8/10
Created symlink from /etc/systemd/system/multi-user.target.wants/mongod.service to /usr/lib/systemd/system/mongod.service.
正在安装 : mongodb-org-mongos-4.4.6-1.el7.x86_64 9/10
正在安装 : mongodb-org-4.4.6-1.el7.x86_64 10/10
验证中 : mongodb-database-tools-100.3.1-1.x86_64 1/10
验证中 : mongodb-org-4.4.6-1.el7.x86_64 2/10
验证中 : mongodb-org-mongos-4.4.6-1.el7.x86_64 3/10
验证中 : mongodb-org-server-4.4.6-1.el7.x86_64 4/10
验证中 : cyrus-sasl-plain-2.1.26-23.el7.x86_64 5/10
验证中 : mongodb-org-shell-4.4.6-1.el7.x86_64 6/10
验证中 : mongodb-org-tools-4.4.6-1.el7.x86_64 7/10
验证中 : cyrus-sasl-gssapi-2.1.26-23.el7.x86_64 8/10
验证中 : mongodb-org-database-tools-extra-4.4.6-1.el7.x86_64 9/10
验证中 : cyrus-sasl-2.1.26-23.el7.x86_64 10/10
已安装:
mongodb-org.x86_64 0:4.4.6-1.el7
作为依赖被安装:
cyrus-sasl.x86_64 0:2.1.26-23.el7
cyrus-sasl-gssapi.x86_64 0:2.1.26-23.el7
cyrus-sasl-plain.x86_64 0:2.1.26-23.el7
mongodb-database-tools.x86_64 0:100.3.1-1
mongodb-org-database-tools-extra.x86_64 0:4.4.6-1.el7
mongodb-org-mongos.x86_64 0:4.4.6-1.el7
mongodb-org-server.x86_64 0:4.4.6-1.el7
mongodb-org-shell.x86_64 0:4.4.6-1.el7
mongodb-org-tools.x86_64 0:4.4.6-1.el7
完毕
2、验证安装结果
执行命令,获取安装的包
rpm -qa | grep mongodb
执行命令,获取安装路径
rpm -ql mongodb-org-server
执行过程如下:
[renZ ~]# rpm -qa |grep mongodb
mongodb-org-shell-4.4.6-1.el7.x86_64
mongodb-org-server-4.4.6-1.el7.x86_64
mongodb-org-tools-4.4.6-1.el7.x86_64
mongodb-org-mongos-4.4.6-1.el7.x86_64
mongodb-org-database-tools-extra-4.4.6-1.el7.x86_64
mongodb-database-tools-100.3.1-1.x86_64
mongodb-org-4.4.6-1.el7.x86_64
[renZ ~]# rpm -ql mongodb-org-server
/etc/mongod.conf
/run/mongodb
/usr/bin/mongod
/usr/lib/systemd/system/mongod.service
/usr/share/doc/mongodb-org-server-4.4.6
/usr/share/doc/mongodb-org-server-4.4.6/LICENSE-Community.txt
/usr/share/doc/mongodb-org-server-4.4.6/MPL-2
/usr/share/doc/mongodb-org-server-4.4.6/README
/usr/share/doc/mongodb-org-server-4.4.6/THIRD-PARTY-NOTICES
/usr/share/man/man1/mongod.1.gz
/var/lib/mongo
/var/log/mongodb
/var/log/mongodb/mongod.log
3、启动服务
启动MongoDB服务
systemctl start mongod.service
MongoDB默认端口是27017,查看是否开启
netstat -natp | grep 27017
检查数据库是否安装成功
ps -aux | grep mongod # 查看数据库的进程是否存在
执行过程
[rZ ~]# systemctl start mongod.service
[rZ ~]# netstat -natp | grep 27017
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 21255/mongod
[rZ ~]# ps -aux | grep mongod
mongod 21255 3.3 3.4 1552004 65052 ? Sl 13:20 0:05 /usr/bin/mongod -f /etc/mongod.conf
root 22373 0.0 0.0 112728 976 pts/1 S+ 13:23 0:00 grep --color=auto mongod
[rZ ~]#
4、验证服务开启
mongo
执行过程
[rZ ~]# mongo
MongoDB shell version v4.4.6
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("cf367eda-8002-4dbb-9b14-493f251a31a6") }
MongoDB server version: 4.4.6
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
https://docs.mongodb.com/
Questions? Try the MongoDB Developer Community Forums
https://community.mongodb.com
---
The server generated these startup warnings when booting:
2021-05-24T13:20:26.974+08:00: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine. See http://dochub.mongodb.org/core/prodnotes-filesystem
2021-05-24T13:20:44.935+08:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted
2021-05-24T13:20:44.936+08:00: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. We suggest setting it to 'never'
2021-05-24T13:20:44.936+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()
---
>
5、常用命令清单
// 1、开启MongoDB
sudo service mongod start 或者 systemctl start mongod.service # 开启MongoDB
sudo chkconfig mongod on # 加入开机启动
sudo service mongod restart # 重启MongoDB
// 2、关闭MongoDB
sudo service mongod stop # 关闭防火墙
// 3、卸载MongoDB
sudo yum erase $(rpm -qa | grep mongodb-org) # 卸载MongoDB
sudo rm -r /var/log/mongodb # 删除日志文件
sudo rm -r /var/lib/mongo # 删除数据文件
四、远程连接Mongodb
1、修改配置文件mongodb.conf
vi /etc/mongod.conf
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.
修改绑定ip默认127.0.0.1只允许本地连接, 所以修改为bindIp:0.0.0.0, 退出保存
2、重启mongodb服务
sudo service mongod restart
3、开放对外端口
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 27017 -j ACCEPT
4、阿里云服务器安全端口
PS:其实发现这个打开之后,还需要在阿里云服务器上开启安全端口,这样才可以真是的对外访问,配置安全组规则。
5、mongoDB Compass 可视化操作
更多阅读
往期「每日一题」
1、JavaScript && ES6
-
第 57 题:【每日一题】(57题)数组扁平化的方法有哪些?
-
第 47 题:【每日一题】(47题)JS中内存泄漏存在于哪几种场景中?
-
第 41 题:【每日一题】(41题)JS代码到底是如何被压缩的?
-
第 39 题:【每日一题】(39题)谈谈JS的函数扩展?
-
第 30 题:【每日一题】(30题)面试官:ES6的解构赋值的理解?
-
第 16 题:【每日一题】面试官问:JS中如何全面进行客户端检测?
-
第 15 题:【每日一题】面试官问:JS类型判断有哪几种方法?
-
第 14 题:【每日一题】面试官问:谈谈你对JS对象的创建和引申
-
第 12 题[每日一题]面试官问:JS引擎的执行过程(二)
-
第 11 题[每日一题]面试官问:JS引擎的执行过程(一)
-
第 10 题[每日一题]面试官问:详细说一下JS数据类型
2、浏览器
3、Vue
4、React
5、HTML5
6、算法
-
第 54 题【每日一题】(54题)算法题:最大子序和
-
第 52 道【每日一题】(52题)算法题:合并两个有序数组
-
第 51 道[【每日一题】(51题)算法题:最大子序和
-
第 48 道【每日一题】(48题)算法题:只出现一次的数字
-
第 44 道【每日一题】(44题)编程题:分割回文字符串
-
第 31 道[【每日一题】(31题)面试官:你对图论了解多少?(一)
-
第 26 道【每日一题】(26题)算法题:最长公共前缀?
7、Node
8、Http
-
第 43 题 【每日一题】(43题)如何在项目中使用Http2.0?
9、年终总结
谢谢支持
1、文章喜欢的话可以「分享,点赞,收藏」三连哦。
2、作者昵称:saucxs,songEagle,松宝写代码。「松宝写代码」作者,每日一题,实验室等。一个爱好折腾,致力于全栈,正在努力成长的字节跳动工程师,星辰大海,未来可期。内推字节跳动各个部门各个岗位。
3、关注「松宝写代码」,是获取开发知识体系构建,精选文章,项目实战,实验室,每日一道面试题,进阶学习,思考职业发展,涉及到JavaScript,Node,Vue,React,浏览器,http,算法,端相关,小程序等领域,希望可以帮助到你,我们一起成长~