Linux Centos7 服务器安装MongoDB,启动,远程管理

1,112 阅读7分钟

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

2、浏览器

3、Vue

4、React

5、HTML5

6、算法

7、Node

8、Http

9、年终总结

谢谢支持

1、文章喜欢的话可以「分享,点赞,收藏」三连哦。

2、作者昵称:saucxs,songEagle,松宝写代码。「松宝写代码」作者,每日一题,实验室等。一个爱好折腾,致力于全栈,正在努力成长的字节跳动工程师,星辰大海,未来可期。内推字节跳动各个部门各个岗位

3、关注「松宝写代码」,是获取开发知识体系构建,精选文章,项目实战,实验室,每日一道面试题,进阶学习,思考职业发展,涉及到JavaScript,Node,Vue,React,浏览器,http,算法,端相关,小程序等领域,希望可以帮助到你,我们一起成长~