图文详解Linux系统安装MongoDB4.0过程

1 篇文章 0 订阅
1 篇文章 0 订阅

1. MongoDB简介

       MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最 丰富,最像关系数据库的。他支持的数据结构非常松散,是类似 json 的 bjson 格式,因此可 以存储比较复杂的数据类型。MongoDB 最大的特点是他支持的查询语言非常强大,其语法 有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能, 而且还支持对数据建立索引。它是一个面向集合的,模式自由的文档型数据库。MongoDB 适合对大量或者无固定格式的数据进行存储,如日志、缓存等。对事物支持较弱,不适用于复杂的多集合的级联查询。

2. 使用压缩包安装MongoDB

     Linux系统下安装MongoDB主要有:.rmp包安装(也叫yum指令安装)、压缩包安装两种安装方式。官方网站推荐的安装方式为rmp包安装。由于本人的Linux系统当初在配置yum源仓库时使用了清华大学的yum源仓库,导致使用yum指令安装时一直报没有相应的mongodb-enterprise包,因而本人采用了压缩包安装方式安装时,我的Linux系统版本为CentOS7;辅助工具为Xshell6;MongoDB版本为4.0.6。

2.1 安装MongoDB依赖包

     采用MongoDB .tgz压缩包安装首先需要运行如下指令安装依赖包

       yum install libcurl openssl

 2.2 下载和加压缩安装包

     官网下载地址:https://www.mongodb.com/download-center#community

     官网下载特别慢,可去我的百度网盘下载4.0.6版本

     百度网盘下载链接:https://pan.baidu.com/s/1Z11VTYn6BINidgQt6QqBcw 提取码:ct1w

     下载后将mongdb压缩包通过xshell的Xftp上传到/usr/local目录,然后切换到/usr/local目录下

       执行解压命令: tar -zxvf mongodb-linux-x86_64-4.0.6.tgz

       执行重命名命令: mv mongodb-linux-x86_64-4.0.6 mongodb

    2.3 添加MongoDB的二进制路径(/usr/local/mongodb/bin 路径)到系统的PATH环境变量中

         有以下三种方式实现 :

  •          拷贝mongodb下的bin目录到你的PATH变量所在的二进制目录,如/usr/local/bin目录
  •          创建路径变量(PATH variable)所在的目录指向mongodb二进制文件路径的符号引用
  •           修改PATH 变量以包含mongodb的bin目录

        下面的例子采用第3种方式:

          执行vim /etc/profile命令后按i键编辑,在文件末尾加上如下配置

           export MONGO_HOME=/usr/local/mongodb

           export PATH=$PATH:${MONGO_HOME}/bin

           保存退出后执行:source /etc/profile   重启配置文件

    2.4  配置MongoDB数据、日志目录和启动脚本

            默认情况下MongoDB运行时会使用mongod用户账号和下面的默认目录

             /var/lib/mongo(数据目录)

             /var/log/mongodb(日志目录)

          如果你是通过.rpm包安装的话,MongoDB会创建默认目录,并将这些目录的所有者和组设置为mongod;但是这里是通过压缩包安装的MongoDB, MongoDB没有创建默认用户,需要我们手动创建data和log目录,执行如下两条命令即可:

           mkdir -p /var/lib/mongo

            mkdir -p /var/log/mongodb

        默认情况下,MongoDB使用mongod用户帐户运行。MongoDB运行后,将这些目录的所有者和组设置为mongod,所以我们需要给所有者和组用户授予访问data和log目录的权限。因为当前用户为root用户,所以需要创建mongod用户并修改密码

      添加 mongod用户指令:  useradd -s /bin/bash mongod

       修改mongod用户密码指令:  passwd mongod(修改密码时需要两次输入新密码)

      修改MongoDB相关目录的属主用户为mongod指令

            chown -R mongod:mongod /usr/local/mongodb

            chown -R mongod:mongod /var/lib/mongo

            chown -R mongod:mongod /var/log/mongodb

      端口开墙

          由于Linux 系统对大部分端口都设有防火墙,因此需要给MongoDB默认端口27017开墙,执行以下开墙命令:

         firewall-cmd --permanent --zone=public --add-port=27017/tcp

         提示success,表示开墙成功。

      配置mongodb启动项脚本:

      执行vim /etc/mongodb.conf, 按i键进入编辑模式,加入如下内容:

        dbpath=/var/lib/mongo

         logpath=/var/log/mongodb/mongodb.log

         auth=false

         bind_ip=127.0.0.1

        logappend=true

       保存退出后点击Xshell左上角的“新建连接”按钮,使用mongod账户建立一个新连接,

      

   用户身份验证输入mongod用户及其密码

      

        1)执行  cd  usr/local/mongodb/bin 命令

         2)执行 ./mongod -f /etc/mongodb.conf 命令

         3)新开一个客户端窗口,仍然使用mongod用户的连接,执行命令  ./mongo 

              控制台显示如下信息表示启动MongoDB服务器成功!

4) 执行命令创建mongodb服务的root用户及students数据集合:

      db.createUser({user:"root",pwd:"123456",roles:[{role:"readWrite",db:"students"}]})

 5)执行插入单条数据的命令:

    db.students.insertOne({id:"1001",name:"张三",age:"24"})

     插入成功后控制台显示如下信息:

  > db.students.insertOne({id:"1001",name:"张三",age:"24"})
{
    "acknowledged" : true,
    "insertedId" : ObjectId("5d176ff128595515f5dc51da")
}

     6)  执行查询数据命令:

           db.getCollection("students").find()

           查询成功后控制台显示如下信息:

> db.getCollection("students").find()
{ "_id" : ObjectId("5d176ff128595515f5dc51da"), "id" : "1001", "name" : "张三", "age" : "24" }

小结:Linux系统下安装MongDB文档型数据库服务器有点小复杂,需要仔细参照官网提供的安装指导文档。而参照一些博客提供的安装指导文档大部分没有提示一些踩过的坑,导致你参照他们的博客可能安装过程中遇到各种报错。本文是我仔细参考官网安装教程和CSDN达人课Git Chat教程,花了块一天的时间经过仔细严格在本机验证通过后而写下的Linux系统Contos7版本下安装MongoDB的指导图文教程,可操作性强,希望能给一些想入门MongoDB文档型数据库的同行有所帮助,后面有时间我将继续讲解Spring Boot项目整合MongoDB数据库。

参考文章:

Install MongoDB Enterprise on Red Hat Enterprise or CentOS

整合常用技术框架之 MongoDB 和 RabbitMQ

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

heshengfu1211

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值