MongoDB的安装(Linux环境)

登录到Linux服务器执行 lsb_release -a ,即可得知服务器的版本信息为:CentOS 7。

perl 复制代码
# CentOS安装lsb_release包
[root@linux100 ~]# sudo yum install redhat-lsb

# 查看Linux版本
[root@linux100 ~]# lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.9.2009 (Core)
Release:        7.9.2009
Codename:       Core

[root@linux100 ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

[root@linux100 ~]# hostnamectl
   Static hostname: linux100
         Icon name: computer-vm
           Chassis: vm
        Machine ID: fb9d8715fff144aca93accad42cec460
           Boot ID: 49ec505cca3d4052a6115b36a670e7e6
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-1160.25.1.el7.x86_64
      Architecture: x86-64

需要在官网先确定系统对应的Mongo DB版本:平台支持的MongoDB版本比对

这里Linux服务器版本为CentOS 7 x86-64,则MongoDB选择7.0.8版本。

1 在官网下载安装包

MongoDB官网下载地址:MongoDB Enterprise Server Download | MongoDB

MongoDB从6.0.10及其之后版本中,bin目录下就没有mongo可执行文件,则需要单独安装官方客户端命令行工具MongoDB shell来连接进行数据库操作,它不支持图形用户页面。 官网下载地址:https://www.mongodb.com/try/download/shell

如需使用其他MongoDB客户端工具可看该文章:MongoDB的安装(window环境)_windows下重装mongodb-CSDN博客文章浏览阅读649次,点赞7次,收藏11次。MongoDB shell是官方客户端命令行工具,不支持图形用户页面。_windows下重装mongodbhttps://blog.csdn.net/qq_39512532/article/details/135533903

2 安装MongoDB

(1)将下载的两个压缩包上传到服务器的 /opt/software 路径下

perl 复制代码
[root@linux100 ~]# cd /opt/software/
[root@linux100 software]# ll
总用量 12922
-rw-r--r--. 1 root   root   154767684 4月  24 04:22 mongodb-linux-x86_64-enterprise-rhel70-7.0.8.tgz
-rw-r--r--. 1 root   root    80612324 4月  24 05:09 mongosh-2.2.5-linux-x64.tgz

(2)解压文件到自定义目录 /opt/module/ 路径下并改名:

perl 复制代码
# 文件解压缩
[root@linux100 software]# tar -zxvf mongodb-linux-x86_64-enterprise-rhel70-7.0.8.tgz -C /opt/module
[root@linux100 software]# tar -zxvf mongosh-2.2.5-linux-x64.tgz -C /opt/module

# 修改名称
[root@linux100 software]# cd /opt/module/
[root@linux100 module]# mv mongodb-linux-x86_64-enterprise-rhel70-7.0.8 mongodb-7.0.8
[root@linux100 module]# mv mongosh-2.2.5-linux-x64 mongosh-2.2.5

**扩展:**以下是两个文件bin目录下的文件列表

MongoDB的bin目录下文件详解:

|----------|------------------------|
| 文件名称 | 说明描述 |
| mongod | 服务器程序,用于启动 MongoDB 服务; |
| mongos | MongoDB 分片服务,用于管理分片集群; |

(3)创建MongoDB的数据存储目录和日志存储目录

perl 复制代码
# 在mongodb-7.0.8文件下创建数据存储目录和日志存储目录
[root@linux100 module]# cd mongodb-7.0.8
[root@linux100 mongodb-7.0.8]# mkdir -p data
[root@linux100 mongodb-7.0.8]# mkdir -p log
[root@linux100 mongodb-7.0.8]# touch log/mongodb.log

(4)创建启动用的配置文件mongod.conf

perl 复制代码
[root@linux100 mongodb-7.0.8]# mdkir config
[root@linux100 mongodb-7.0.8]# vim config/mongod.conf

mongod.conf配置以下内容:

数据存储位置

dbpath=/opt/module/mongodb-7.0.8/data/

日志存储位置

logpath=/opt/module/mongodb-7.0.8/log/mongodb.log

运行时占用端口

port=27017

fork为true指明以后台方式启动

fork=true

3 启动MongoDB及其客户端

perl 复制代码
[root@linux100 mongodb-7.0.8]# cd bin

# 启动MongoDB服务端
[root@linux100 bin]# ./mongod -f /opt/module/mongodb-7.0.8/config/mongod.conf

about to fork child process, waiting until server is ready for connections.
forked process: 21418
child process started successfully, parent exiting

# 启动MongoDB客户端,默认连接本机的MongoDB服务(以默认端口连接),并进入到test数据库
[root@linux100 bin]# cd /opt/module/mongosh-2.2.5/bin/
[root@linux100 bin]# ./mongosh
Current Mongosh Log ID: 66285b69ce6a67cac62202d7
Connecting to:          mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+2.2.5
Using MongoDB:          7.0.8
Using Mongosh:          2.2.5

For mongosh info see: https://docs.mongodb.com/mongodb-shell/

------
   The server generated these startup warnings when booting
   2024-04-24T09:07:39.038+08:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted
   2024-04-24T09:07:39.038+08:00: You are running this process as the root user, which is not recommended
   2024-04-24T09:07:39.038+08:00: This server is bound to localhost. Remote systems will be unable to connect to this server. Start the server with --bind_ip <address> to specify which IP addresses it should serve responses from, or with --bind_ip_all to bind to all interfaces. If this behavior is desired, start the server with --bind_ip 127.0.0.1 to disable this warning
   2024-04-24T09:07:39.038+08:00: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. We suggest setting it to 'never' in this binary version
   2024-04-24T09:07:39.038+08:00: /sys/kernel/mm/transparent_hugepage/defrag is 'always'. We suggest setting it to 'never' in this binary version
   2024-04-24T09:07:39.038+08:00: Soft rlimits for open file descriptors too low
------

Deprecation warnings:
  - Using mongosh on the current operating system is deprecated, and support may be removed in a future release.
See https://www.mongodb.com/docs/mongodb-shell/install/#supported-operating-systems for documentation on supported platforms.
Enterprise test>

问题:

如果Mongodb服务和客户端不在同一台服务器,连接MongoDB服务连接不上!!!

在本地浏览器访问http://192.168.243.100:27017,访问失败!!!

解决方案:

(1)关闭MongoDB所在服务器防火墙,具体可参考下面链接:

Linux服务器防火墙的操作https://blog.csdn.net/qq_39512532/article/details/131229204(2)mongodb启动时需要绑定所在IP:

perl 复制代码
[root@linux100 ~]# cd /opt/module/mongodb-7.0.8/bin
# 启动MongoDB服务端,并绑定该服务ip
[root@linux100 bin]# ./mongod -f /opt/module/mongodb-7.0.8/config/mongod.conf --bind_ip 192.168.243.100

# 启动Mongodb客户端
[root@linux100 bin]# ./mongosh mongodb://192.168.243.100:27017

在浏览器中输入地址测试MongoDB是否启动成功:http://192.168.243.100:27017

4 操作数据库

MongoDB数据库的详细操作步骤可参考该链接:

MongoDB的数据库操作https://blog.csdn.net/qq_39512532/article/details/135533055

5 关闭MongoDB

perl 复制代码
# 使用lsof命令查看MongoDB是否运行,也可找到该端口上运行的进程ID
[root@linux100 bin]# lsof -i :27017
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
mongod  21418 root   15u  IPv4 505796      0t0  TCP localhost:27017 (LISTEN)


# 关闭MongoDB服务
[root@linux100 bin]# kill -9 21418
相关推荐
心止水j3 分钟前
spark
javascript·数据库·spark
xujiangyan_1 小时前
Redis详解
数据库·redis·缓存
蓁蓁啊2 小时前
GIT使用SSH 多账户配置
运维·git·ssh
Y编程小白4 小时前
PostgreSQL在Linux中的部署和安装教程
数据库·postgresql
程序猿小三5 小时前
Linux下基于关键词文件搜索
linux·运维·服务器
虚拟指尖5 小时前
Ubuntu编译安装COLMAP【实测编译成功】
linux·运维·ubuntu
椎4956 小时前
苍穹外卖前端nginx错误之一解决
运维·前端·nginx
刘某的Cloud6 小时前
parted磁盘管理
linux·运维·系统·parted
TiAmo zhang6 小时前
SQL Server 2019实验 │ 数据库和表的创建、修改与删除
数据库·oracle
啊?啊?6 小时前
4 解锁 Linux 操作新姿势:man、grep、tar ,创建用户及添加权限等 10 大实用命令详解
linux·服务器·实用指令