MongoDB的安装(Linux环境)

登录到Linux服务器执行 lsb_release -a ,即可得知服务器的版本信息为:CentOS 7。(如需了解别的方式获取Linux系统信息可参考该链接:Linux服务器常用巡检命令

[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 路径下

[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/ 路径下并改名:

# 文件解压缩
[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 服务;
mongosMongoDB 分片服务,用于管理分片集群;

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

# 在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

[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及其客户端

[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服务器防火墙的操作icon-default.png?t=N7T8https://blog.csdn.net/qq_39512532/article/details/131229204(2)mongodb启动时需要绑定所在IP:

[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 配置登陆认证

(1)进入admin数据库

Enterprise test> use admin

(2)创建管理员用户,并设置密码与权限

Enterprise admin> db.createUser({user:'admin', pwd: 'a123456',roles:[{role:'root',db:'admin'}]})

(3)验证刚刚创建的账户是否成功:(1成功、0失败)

Enterprise admin> db.auth('admin','a123456')
{ ok: 1 }

(4)在/opt/module/mongodb-7.0.8/config/mongod.conf配置文件下面再新增以下内容:

#认证模式(true代表开启认证登录,false代表未开启认证登录)
auth=true   
#远程连接
bind_ip=0.0.0.0

重启mongoDB服务以便配置生效。

[root@linux100 bin] ./mongod -f /opt/module/mongodb-7.0.8/config/mongod.conf

(5)客户端用账号密码登录

[root@linux100 bin]# cd /opt/module/mongosh-2.2.5/bin/

[root@linux100 bin]# ./mongosh 'mongodb://admin:a123456@192.168.243.100:27017'

扩展:

  • 删除用户角色:db.dropUser("admin")
  • 修改用户密码:db.changeUserPassword("admin","123")

5 操作数据库

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

MongoDB的数据库操作icon-default.png?t=N7T8https://blog.csdn.net/qq_39512532/article/details/135533055

 6 关闭MongoDB

# 使用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

  • 23
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值