一、下载并解压MongoDB

  1、下载MongoDB 取件码w2px

  2、通过ftp软件上传的服务器上,我的位置:/root/softwares

  

  3、解压并放在opt文件夹下:tar zxvf mongodb4.2.2.tgz -C /opt/

  4、切换到 opt 目录:cd /opt

  5、重命名 mv mongodb-linux-x86_64-rhel70-4.2.2 mongodb4  

   

二、配置环境变量

  1、vim /etc/profile

  // /opt/mongodb4/bin 为当前需要新增的环境变量,$PATH为已有的环境变量,":"为拼接

  2、export PATH=/opt/mongodb4/bin:$PATH

  // 执行文件刷新环境变量

  3、source /etc/profile

三、创建数据库目录

  // 进入/opt/mongodb4目录
  cd /opt/mongodb4
  // 创建配置文件
  touch mongodb.conf
  // 创建db目录
  mkdir db
  // 创建log目录
  mkdir log
  // 进入log目录
  cd log
  // 创建log文件
  touch mongodb.log

四、修改配置文件

  vim /opt/mongodb4/mongodb.conf
  //写入以下内容
  port=27177 #端口 默认端口是27017,但是mongodb特别容易被攻击,所以这里不建议使用默认端口
  dbpath= /opt/mongodb4/db #数据库存文件存放目录,如果有数据盘最好放在数据盘里面
  logpath= /opt/mongodb4/log/mongodb.log #日志文件存放路径
  logappend=true #使用追加的方式写日志
  fork=true #以守护进程的方式运行,创建服务器进程
  maxConns=100 #最大同时连接数
  auth=false #不启用验证,先不开启,配完用户在更改开启
  journal=true #每次写入会记录一条操作日志(通过journal可以重新构造出写入的数据)。
  #即使宕机,启动时wiredtiger会先将数据恢复到最近一次的checkpoint点,然后重放后续的journal日志来恢复。
  storageEngine=wiredTiger #存储引擎有mmapv1、wiretiger、mongorocks
  bind_ip = 0.0.0.0 #0.0.0.0代表任何IP地址,如果写127.0.0.1那就只能本机访问,其他同理

五、设置文件夹权限

  cd /opt/mongodb4
  chmod 777 db // 赋予该目录可读可写可执行权限
  chmod 777 log // 赋予该目录可读可写可执行权限

六、启动MongoDB

  启动命令:mongod -f /opt/mongodb4/mongodb.conf

  如果是新服务器,有可能会报下面的错误,原因是没有必要的依赖库

  

  解决方法:去http://rpmfind.net/linux/rpm2html/search.php?query=libcrypto.so.10%28OPENSSL_1.0.2%29%2864bit%29&submit=Search+...&system=&arch=下载必要的依赖              

  下载下来之后直接安装就行了:安装命令:rpm -ivh compat-openssl10-1.0.2o-3.el8.x86_64.rpm

  

  再次重启,就成功了

  

七、创建超级管理员

  先登录mongo客户端

  创建超级管理员:

  

八、修改配置文件,开启权限认证  

  

九、重启MongoDB

  在重启mongo之前,先说说怎么关闭mongo

  linux 如何正确的关闭mongodb
  有的朋友说可以通过下面的命令关闭mongodb:
  killall mongodb
  #or
  kill -9 mongo-pid
  上面的方法确实可以关闭mongodb,但是正确的做法不是这样子的,mongodb提供了关闭数据库的命令:

  首先需要进入到mongodb目录下bin/mongo,连接到mongodb,然后执行下面脚本:

  use admin
  db.auth("root","Se7eN521")
  db.runCommand("shutdown")
  上面第一行切换到admin数据库,第二行则是执行关闭操作
  也可以使用db.shutdownServer()命令

  关闭之后,再次重启:

  

十、Navicat连接

  如果出现下面错误,多数情况下是,新服务器没有开放mongo的对外端口,在安全组(阿里云)或者防火墙(腾讯云)上开发端口

  

  

  

十一、设置mongo的开机启动

  1.在/lib/systemd/system/目录下新建mongodb.service文件,内容如下:

  [Unit]

  Description=mongodb
  After=network.target remote-fs.target nss-lookup.target

  [Service]
  Type=forking
  ExecStart=/opt/mongodb4/bin/mongod --config /opt/mongodb4/mongodb.conf
  ExecReload=/bin/kill -s HUP $MAINPID
  ExecStop=/opt/mongodb4/bin/mongod --shutdown --config /opt/mongodb4/mongodb.conf
  PrivateTmp=true

  [Install]
  WantedBy=multi-user.target

  1、其中ExecStart和ExecStop换成自己的mongo路径

  2、更改权限: chmod 754 mongodb.service

  3、启动服务:systemctl start mongodb.service

  4、关闭服务:systemctl stop mongodb.service

  5、开机启动:systemctl enable mongodb.service

  

Centos上安装MongoDB4.X的更多相关文章

  1. NoSql1 在Linux(CentOS)上安装memcached及使用

    前言:       今天是初五,生活基本要从过年的节奏中回归到正常的生活了,所以想想也该想想与工作有关的事情了.我之前在工作中会经常使用memcached和redis,但是自己一直没有时间系统的好好看 ...

  2. 在Ubuntu|CentOS上安装Shutter截图工具及快捷键设置

    简介 Shutter前身叫GScrot,它是一款相当棒的截图软件. 通过Shutter,你可以截取包括选定区域.全屏幕.窗口.窗口内的控件甚至网页的图像.通过内置的强大插件机制,你可以在截图后,对图像 ...

  3. 在CentOS上安装rabbitmq-server

    ***在 CentOS 6.4上安装python*** 注意啊,自己手动安装python2.7.5,不要动系统上面其他的版本 1,先安装GCC,用如下命令yum install gcc gcc-c++ ...

  4. CentOS上安装软件错误提示:configure: error: no acceptable C compiler found in $PATH

    CentOS上安装软件错误提示:configure: error: no acceptable C compiler found in $PATH 因为是centos linux,默认可以采用yum方 ...

  5. 如何在centos上安装epel源

    一.EPEL是什么? EPEL (Extra Packages for Enterprise Linux,企业版Linux的额外软件包) 是Fedora小组维护的一个软件仓库项目,为RHEL/Cent ...

  6. 在Centos上安装RabbitMQ流程(转)

    在Centos上安装RabbitMQ流程------------------------ 1. 需求 由于项目中要用到消息队列,经过ActiveMQ与RabbitMQ的比较,最终选择了RabbbitM ...

  7. 在CentOS上安装ZooKeeper集群

    一共准备3个CentOS虚拟机 172.16.9.194 172.16.9.195 172.16.9.196 上传zookeeper-3.3.6.tar.gz到服务器并解压,3台服务器的目录结构如下 ...

  8. CentOS上安装Node.js

    CentOS上安装Node.js [日期:2014-07-21] 来源:Linux社区  作者:maskdfe [字体:大 中 小]     CentOS上安装Node.js(想在Linux上学习No ...

  9. Linux系统入门学习:在CentOS上安装phpMyAdmin

    问题:我正在CentOS上运行一个MySQL/MariaDB服务,并且我想要通过网络接口来用phpMyAdmin来管理数据库.在CentOS上安装phpMyAdmin的最佳方法是什么? phpMyAd ...

随机推荐

  1. Jetpack Compose学习(6)——关于Modifier的妙用

    原文: Jetpack Compose学习(6)--关于Modifier的妙用 | Stars-One的杂货小窝 之前学习记录中也是陆陆续续地将常用的Modifier的方法穿插进去了,本期就来详细的讲 ...

  2. H5移动端适配方案-rem

    为什么移动端要适配: 由于移动设备的尺寸不一,所以移动端的页面要能够适应不同尺寸的设备,即页面的自适应,让页面在视觉上保持一致. rem:rem 是css3的一种相对单位,参考是根元素HMTL的fon ...

  3. 题解 「BZOJ4919 Lydsy1706月赛」大根堆

    题目传送门 题目大意 给出一个 \(n\) 个点的树,每个点有权值,从中选出一些点,使得满足大根堆的性质.(即一个点的祖先节点如果选了那么该点的祖先节点的权值一定需要大于该点权值) 问能选出来的大根堆 ...

  4. SudokuSolver 1.0:用C++实现的数独解题程序 【二】

    本篇是 SudokuSolver 1.0:用C++实现的数独解题程序 [一] 的续篇. CQuizDealer::loadQuiz 接口实现 1 CQuizDealer* CQuizDealer::s ...

  5. spyglass DFT

    SolvNet spyglass clock_11 内部 generated clocks 在shift mode 不被 testclock 控制. Fix View the Incremental ...

  6. Convolutional Neural Network-week1编程题(一步步搭建CNN模型)

    Convolutional Neural Networks: Step by Step implement convolutional (CONV) and pooling (POOL) layers ...

  7. airtest keyevent 按键速查表

  8. 离线状态迁移Anaconda虚拟环境

    离线状态迁移Anaconda虚拟环境 同样是项目需求,需要布署的服务器上的Anaconda安装到了普通账户下 而后续所有的内容都需要通过root账户进行操作,而服务器已经布署,联网比较麻烦 本文提出, ...

  9. Noip模拟83 2021.10.26

    T1 树上的数 有手就能在衡中$OJ$上过,但是$WaitingCoders$不行,就是这样 必须使用$O(n)$算法加上大力卡常,思路就是找子树内没更新的更新,更新过了直接$return$ 1 #i ...

  10. 2021.8.24考试总结[NOIP47]

    T1 prime 发现只需筛小于等于$mid(\sqrt r,k)$的质数,之后用这些质数筛掉区间内不合法的数即可. $code:$ 1 #include<bits/stdc++.h> 2 ...