Linux下安装MongoDB数据库,史上简单易懂的教程来啦~

文章目录

  • 1 下载MongoDB数据库
  • 2 MongoDB的安装
    • 2.1 解压MongoDB到指定安装目录
    • 2.2 修改解压路径名称(非必须操作)
    • 2.3 创建data数据目录(非必须操作)
    • 2.4 MongoDB核心bin目录说明
  • 3 MongoDB的启动与停止
    • 3.1 启动MongoDB
    • 3.2 关闭MongoDB服务
      • 3.2.1 方式一
      • 3.2.2 方式二
      • 3.2.3 方式三
      • 3.2.4 方式四
  • 4 MongoDB其他常用命令汇总
    • 4.1 查看MongoDB帮助
    • 4.2 查看MongoDB版本
    • 4.3 连接MongoDB命令行
      • 4.3.1 查看有多少数据库
      • 4.3.2 切换数据库
      • 4.3.3 查看目前处于哪个数据库
      • 4.3.4 当前库中有多少个集合(表)
  • 5 MongoDB安全设置
  • 6 最终版MongoDB服务启动脚本(含安全认证)

1 下载MongoDB数据库

  • 官方网站:https://www.mongodb.com

    Linux服务,可以直接下载,然后上传到Linux服务器上,也可以通过wget命令下载:wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.0.tgz

  • 如果下载Windows版本,下载链接(解压即可使用): https://fastdl.mongodb.org/windows/mongodb-windows-x86_64-4.4.0.zip

注意: MongoDB现在已没有32位的安装包,所以要求电脑或服务器必须是64位的

2 MongoDB的安装

2.1 解压MongoDB到指定安装目录

tar -zxvf mongodb-linux-x86_64-rhel70-4.2.0.tgz -C /usr/local/

2.2 修改解压路径名称(非必须操作)

解压后的名称太长,使用以下命令修改解压后的路径名称
mv mongodb-linux-x86_64-rhel70-4.2.0/ mongodb-4.2.0
其中-C表示解压到一个指定的目录,解压后即可使用,无需其他操作

解压后的目录如下图所示:
在这里插入图片描述

2.3 创建data数据目录(非必须操作)

在安装主目录下创建一个data目录,用于MongoDB存储数据
cd /usr/local/mongodb-4.2.0/ && mkdir data

2.4 MongoDB核心bin目录说明

解压后的bin目录结构,如下图所示:
Linux下安装MongoDB数据库,史上简单易懂的教程来啦~_第1张图片
MongoDB 在bin目录下提供了一系列有用的工具(可执行程序),简要说明如下:

可执行程序 说明
mongo 客户端命令行工具,其实也是一个js 解释器,支持js 语法
mongod 数据库服务端,每个实例启动一个进程,可以fork 为后台运行
bsondump 将bson格式的文件转储为json 格式的数据
mongodump 数据库备份工具
mongoexport 数据导出工具
mongofiles GridFS管理工具,可实现二制文件的存取
mongoimport 数据导入工具
mongorestore 数据库恢复工具
mongos 分片路由,如果使用了sharding功能,则应用程序需要连接mongos

3 MongoDB的启动与停止

3.1 启动MongoDB

  • 切换到安装目录的bin目录下
    ./mongod --dbpath=/usr/local/mongodb-4.2.0/data/,这种方式是前台启动
    其中 --dbpath是指定MongoDB数据存储的位置,如果不指定默认数据是存放到/data/db/目录下

  • 允许远程连接访问
    MongoDB默认只能本机ip可以访问,其他机器的ip的不能访问,启动时使用
    --bind_ip=0.0.0.0参数指定不限制绑定的ip,即任何ip都可以访问

  • 后台启动MongoDB
    /usr/local/mongodb-4.2.0/bin/mongod --bind_ip=0.0.0.0 --dbpath=/usr/local/mongodb-4.2.0/data/ --logpath=/usr/local/mongodb-4.2.0/mongodb.log --logappend --fork
    通过--fork参数表示后台启动,使用fork参数时,其中logpath参数不能少,这是强制的,logappend表示日志追加 (这个参数可以省略)

    启动成功时如下:

    mongodb-4.2.0/data/ --logpath=/usr/local/mongodb-4.2.0/mongodb.log --logappend --fork
    about to fork child process, waiting until server is ready for connections.
    forked process: 24768
    child process started successfully, parent exiting
    

    在这里插入图片描述

  • 通常情况下,会把以上后台启动的命令写成一个脚本,方便后续操作
    可以把上面的命令封装到一个Linux的shell脚本mongodb-start.sh中,内容如下:

    #!/bin/sh
    
    /usr/local/mongodb-4.2.0/bin/mongod --bind_ip=0.0.0.0 --dbpath=/usr/local/mongodb-4.2.0/data/ --logpath=/usr/local/mongodb-4.2.0/mongodb.log --logappend --fork
    
    

    赋值可执行权限:
    chmod +x mongodb-start.sh
    好啦,以后就可以快速通过这个脚本启动MongoDB啦。

3.2 关闭MongoDB服务

3.2.1 方式一

使用以下命令关闭MongoDB服务
/usr/local/mongodb-4.2.0/bin/mongod --shutdown --dbpath /usr/local/mongodb-4.2.0/data/

3.2.2 方式二

通过ps -ef | grep mongodb查出主进程,然后直接kill进程,来关闭服务
kill pid进程号

在这里插入图片描述

3.2.3 方式三

如果是前台启动,直接Ctrl+C即可停止服务

3.2.4 方式四

通过命令行工具,连接MongoDB服务,然后关闭服务

# 第一步:执行该命令,连接连接MongoDB服务(未设置过密码,否则需要登录)
/usr/local/mongodb-4.2.0/bin/mongo

# 命令行上,执行以下use admin;和db.shutdownServer();命令即可关闭服务,最后exit退出命令行
> use admin;
switched to db admin
> 
> db.shutdownServer();
2020-08-19T23:05:27.758+0800 I  NETWORK  [js] DBClientConnection failed to receive message from 127.0.0.1:27017 - HostUnreachable: Connection closed by peer
server should be down...
> exit
bye

4 MongoDB其他常用命令汇总

4.1 查看MongoDB帮助

执行以下命令:
./mongod --version

4.2 查看MongoDB版本

执行以下命令:
./mongod --help

4.3 连接MongoDB命令行

在MongoDB安装目录的bin目录下执行以下命令,连接命令行:
./mongo 直接进入mongodb的命令行,默认进入test数据库
./mongo 127.0.0.1:27017 进入指定ip端口的mongodb命令行
./mongo 127.0.0.1:27017/test 进入指定ip端口和数据库test的mongodb命令行

4.3.1 查看有多少数据库

执行以下命令:
show dbs 或者 show databases
Linux下安装MongoDB数据库,史上简单易懂的教程来啦~_第2张图片

4.3.2 切换数据库

使用usr命令,如:切换到admin库
usr admin
在这里插入图片描述

4.3.3 查看目前处于哪个数据库

使用db命令,下图所示说明,当前在admin库
Linux下安装MongoDB数据库,史上简单易懂的教程来啦~_第3张图片

4.3.4 当前库中有多少个集合(表)

使用以下命令:
show collections 或者 show tables

5 MongoDB安全设置

  • 绑定内网或外网的部分IP地址访问MongoDB服务,未指定的ip不允许访问--bind_ip来指定监听的ip)

  • 设置监听端口
    启动时指定端口号(--port 端口号)(默认端口是27017,为了防止被攻击,一般不使用默认的端口

  • 在admin数据库中创建登录认证用户

    use admin
    db.createUser({user:"root", pwd:"123456", roles:[{role:"root", db:"admin"}]})
    
  • 重新启动数据库服务,并在启动时候,添加安全认证参数--auth开启安全登录验证
    mongod --dbpath /usr/local/mongodb-4.0.8/data --auth

    每个MongoDB数据库可以多个用户,如果开启了安全登录检查,则只有数据库认证成功的用户才能执行读或者写操作

  • 添加了认证账号后,使用用户名和口令登录:
    ./mongo -u root -p 123456 也可以./mongo admin -u root -p 123456
    其中admin是数据库名

6 最终版MongoDB服务启动脚本(含安全认证)

内容如下:

#!/bin/sh

/usr/local/mongodb-4.2.0/bin/mongod --auth --port 7017 --bind_ip=0.0.0.0 --dbpath=/usr/local/mongodb-4.2.0/data/ --logpath=/usr/local/mongodb-4.2.0/mongodb.log --logappend --fork
	

好啦,环境部分内容就先介绍到这里了,有兴趣的童鞋们,敬请关注,后续会介绍下MongoDB的基础使用

如果这篇文章对你有帮助,欢迎老铁们给个赞支持下呗!

写博客是为了记住自己容易忘记的东西,另外也是对自己工作的总结,希望尽自己的努力,做到更好,大家一起努力进步!

如果有什么问题,欢迎大家评论,一起探讨,代码如有问题,欢迎各位大神指正!

给自己的梦想添加一双翅膀,让它可以在天空中自由自在的飞翔!

你可能感兴趣的:(MongoDB,Linux)