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
相关推荐
刘大浪11 分钟前
后端数据增删改查基于Springboot+mybatis mysql 时间根据当时时间自动填充,数据库连接查询不一致,mysql数据库连接不好用
数据库·spring boot·mybatis
A.A呐12 分钟前
【Linux第一章】Linux介绍与指令
linux
Gui林12 分钟前
【GL004】Linux
linux
ö Constancy16 分钟前
Linux 使用gdb调试core文件
linux·c语言·vim
tang_vincent17 分钟前
linux下的spi开发与框架源码分析
linux
无敌岩雀18 分钟前
MySQL中的索引
数据库·mysql
xiaozhiwise21 分钟前
Linux ASLR
linux
wellnw21 分钟前
[linux] linux c实现共享内存读写操作
linux·c语言
a_安徒生40 分钟前
linux安装TDengine
linux·数据库·tdengine
程序员学习随笔43 分钟前
PostgreSQL技术内幕19:逻辑备份工具pg_dump、pg_dumpall
数据库·postgresql