Linux安装MongoDB4.0.13正式版
一.我的安装环境:CentOS8+MongoDB4.0.13
二.下载MongoDB。
官网下载地址:
https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.5.tgz
压缩包下载完成后winscp上传到Linux上,然后解压、改名:

  1. tar -zxvf mongodb-linux-x86_64-rhel70-4.2.5.tgz
  2. mv mongodb-linux-x86_64-rhel70-4.2.5 mongodb4
    三. 配置环境变量及配置文件。
    3.1配置系统环境变量:
    vi /etc/profile
    键盘按下“i”进入编辑模式即可。在文件的最后加上:
    #mongodb
    Export PATH=$PATH:/opt/mongodb4/bin

使修改生效

source /etc/profile
3.2 创建MongoDB数据存放文件夹和日志记录文件夹,为后面的配置文件使用:
mkdir -p /opt/mongoData/db
mkdir -p /opt/mongoData/logs
3.3 创建MongoDB运行时使用的配置文件:
进入bin目录下:cd /root/mongodb4/bin
创建mongodb.conf配置文件:vim mongodb.conf
会提示是new file,直接输入下面内容:
dbpath = /opt/mongoData/db #数据文件存放目录
logpath = /opt/mongoData/logs/mongodb.log #日志文件存放目录
pidfilepath=/opt/mongoData/run/mongodb.pid #mongodb 的pid
port = 27017 #端口
fork = true #以守护程序的方式启用,即在后台运行
auth=true #需要认证。如果放开注释,就必须创建MongoDB的账号,使用账号与密码才可远程访问,第一次安装建议注释
bind_ip=0.0.0.0 #允许远程访问,或者直接注释,127.0.0.1是只允许本地访问
maxConns=500 #最大链接数
logappend=true #mongodb重启时,日志在上一个日志文件后链接
图片.png
最后“Esc”,输入“:wq”保存退出vim编辑模式即可。注意:注释符号#和数据之间必须是一个空格。
四. 启动MongoDB
4.1 启动MongoDB服务:
进入bin目录下,加载配置文件方式启动:

  1. cd /opt/mongoDB4/bin
  2. ./mongod -f mongodb.conf
    至此,MongoDB在Linux上的安装启动完毕。
    查看端口映射检查是否启动成功:netstat -nltp|grep mongod ,显示:

图片.png
或者:netstat -nltp|grep 27017
或者: ps -ef | grep mongo ,显示
图片.png
或者:top ,显示
图片.png
4.2 关闭MongoDB。
关闭方式也有很多种,下面列举几种。
4.2.1 mongod命令关闭:
./mongod -f mongodb.conf —shutdown
注意:#mongod 命令的 shutdown 选项能干净的关闭 MongoDB 服务,会释放内存中MongoDB占用的内存,个人推荐。
4.2.2 kill进程:
kill MongoDB的pid ,直接杀死MongoDB的进程id。kill -9 pid 强制杀死,有时可能会出现错误关不掉时就可使用这种强制方式,但注意这种方式可能并不会马上释放内存中MongoDB占用的内存,且如果这时候有数据往
MongoDB新增可能会导致数据丢失。注:查看pid:ps -ef | grep mongo , 结果的第二列就是pid。
4.2.3 pkill mongod 。
五. 创建MongoDB的账号。
建议注释了auth=true后进行下面的操作,如果开启了认证,可能会导致下面的操作执行失败(只是可能)。
进入bin目录下:
#cd /opt/mongodb-4.0.1/bin
运行mongo命令:mongo
图片.png
使用admin数据库:use admin ,注意admin数据库下创建的账号权限是所有库通用的,即是全局认证的。
创建用户:
#db.createUser({ user: ‘lingjun’, pwd: ‘do{12}while(!!)’,roles: [ { role: “dbOwner”, db: “admin” }] })
图片.png
这时候MongoDB的admin数据库就有了账号,启用auth=true,重启后,再连接就需要账号密码授权了。
图片.png
连接admin数据库(因为账号是admin数据库下的用户,如果想直接连接test数据库,这个数据库中是没有名为root的用户的,所以最好的解决方案就是在关闭权限验证时,在test数据库中通过db.createUser创建一个相同的用户):

use test db.createUser({user:’lingjun’, pwd : ‘do{12}while(!!)’,roles : [‘readWrite’]}) use admin 授权:>db.auth(“lingjun”,”do{12}while(!!)”) 使用test数据库:use test

图片.png
这时候就拥有了权限对数据库进行操作:
#db.firstCollection.save({“name”:”yzh”,”age”:”25”})
图片.png
可查看是否新增成功:
#db.firstCollection.find({name:”yzh”})
图片.png
图片.png
退出mongo命令行工具:ctrl + c
mongoDB 加入service启动:开机启动
#!/bin/sh
#mongod - Startup script for mongod
chkconfig: - 85 15
description: Mongodb database.
processname: mongod
Source function library
. /etc/rc.d/init.d/functions
things from mongod.conf get there by mongod reading it
OPTIONS ,根据自己安装目录修改
OPTIONS=” -f /opt/mongodb4/bin/mongodb.conf”
#mongod 启动脚本路径
mongod=”/opt/mongodb4/bin/mongod”
#删除异常情况下,mongoDB 的锁
lockfile=/var/lock/subsys/mongod
start(){
echo -n $”Starting mongod: “
daemon $mongod $OPTIONS
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch $lockfile
}stop(){
echo -n $”Stopping mongod: “
killproc $mongod -QUIT
RETVAL=$?
echo [ $RETVAL -eq 0 ] && rm -f $lockfile
}
restart () {
stop
start
}
ulimit -n 12000
RETVAL=0
case “$1” in
start)
start
;;
stop)
stop
;;
restart|reload|force-reload)
restart
;;
condrestart)
[ -f $lockfile ] && restart || :
;;
status)
status $mongod
RETVAL=$?
;;
*)
echo “Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}”
RETVAL=1
esac
exit $RETVAL
#将代码保存到 /etc/init.d/mongodb,然后使用 chmod +x /etc/init.d/mongodb 添加执行权限。
#chmod +x /etc/init.d/mongodb
#chkconfig —add mongodb
#chkconfig mongodb on
#service mongodb start
注意:如果mongodb有改动,需要执行systemctl daemon-reload 重新加载启动文件
#将 mongodb加入开机启动
1 #vim /etc/rc.local
2 添加service mongodb start 或 systemctl start mongodb.service
设置开机启动
  # systemctl enable mongodb
  # systemctl daemon-reload
mongo工具的其它命令就不再详述:

Studio 3T

收费的,但是可以免费试用30天。支持导入导出,支持 sql 查询,支持语法填充,功能丰富。支持 MongoDB 4.0。支持在三大平台 Windows 、Mac 、Linux 上运行
图片.png
注意:该工具只能试用30天,可通过购买进行使用,如果你需要长期保持试用的功能,跟我做就好了:
新建一个文件,后缀为 .bat,并将以下内容写入。
@echo off
ECHO 重置Studio 3T的使用日期……
FOR /f “tokens=1,2,* “ %%i IN (‘reg query “HKEY_CURRENT_USER\Software\JavaSoft\Prefs\3t\mongochef\enterprise” ^| find /V “installation” ^| find /V “HKEY”‘) DO ECHO yes | reg add “HKEY_CURRENT_USER\Software\JavaSoft\Prefs\3t\mongochef\enterprise” /v %%i /t REG_SZ /d “”
ECHO 重置完成, 按任意键退出……
pause>nul
exit
然后我们运行该文件,即可重新开启试用30天,30天后我们也可以再次运行该脚本。或者我们可以将该脚本放到开机启动中,或者放到定时任务中。
上面脚本仅供学习使用,不能用于商业用途。