多个平台安装MongoDB

一、Windows 平台安装 MongoDB

MongoDB 下载
MongoDB 提供了可用于 32 位和 64 位系统的预编译二进制包,你可以从MongoDB官网下载安装,MongoDB 预编译二进制包下载地址:https://www.mongodb.com/download-center/community

​注意​​:在 MongoDB 2.2 版本后已经不再支持 Windows XP 系统。最新版本也已经没有了 32 位系统的安装文件。

多个平台安装MongoDB_Windows

  • MongoDB for Windows 64-bit 适合 64 位的 Windows Server 2008 R2, Windows 7, 及最新版本的 Window 系统。
  • MongoDB for Windows 32-bit 适合 32 位的 Window 系统及最新的 Windows Vista。 32位系统上 MongoDB 的数据库最大为 2GB。
  • MongoDB for Windows 64-bit Legacy 适合 64 位的 Windows Vista, WindowsServer 2003, 及 Windows Server 2008 。

下载 .msi 文件,下载后双击该文件,按操作提示安装即可。

安装过程中,你可以通过点击 “Custom(自定义)” 按钮来设置你的安装目录。

多个平台安装MongoDB_mongodb_02


多个平台安装MongoDB_mongodb_03


下一步安装 “install mongoDB compass” 不勾选(当然你也可以选择安装它,可能需要更久的安装时间),MongoDB Compass 是一个图形界面管理工具,我们可以在后面自己到官网下载安装,下载地址:https://www.mongodb.com/download-center/compass。

多个平台安装MongoDB_Windows_04


创建数据目录

MongoDB 将数据目录存储在 db 目录下。但是这个数据目录不会主动创建,我们在安装完成后需要创建它。请注意,数据目录应该放在根目录下 (如: C:\ 或者 D:\ 等 )。

我们已经在 D盘安装了 mongodb,现在让我们创建一个 data 的目录然后在 data 目录里创建 db 目录。

cd D:\
md "\data\db"

你也可以通过 window 的资源管理器中创建这些目录,而不一定通过命令行。

命令行下运行 MongoDB 服务器
为了从命令提示符下运行 MongoDB 服务器,你必须从 MongoDB 目录的 bin 目录中执行 mongod.exe 文件。

D:\mongodb\bin\mongod --dbpath d:\data\db

如果执行成功,会输出如下信息:

2021-05-07T19:54:09.112+0800 I CONTROL  Hotfix KB27312384 or later update is not
installed, will zero-out data files
……

连接MongoDB
我们可以在命令窗口中运行 mongo.exe 命令即可连接上 MongoDB,执行如下命令:

D:\mongodb\bin\mongo.exe

配置 MongoDB 服务
注意:一些新版本的 MongoDB 安装时已经自行完成大部分配置,如果以下目录已经存在,你可以直接跳过这部分内容。

管理员模式打开命令行窗口

创建目录,执行下面的语句来创建数据库和日志文件的目录

mkdir d:\data\db
mkdir d:\data\log

创建配置文件

创建一个配置文件。该文件必须设置 systemLog.path 参数,包括一些附加的配置选项更好。

例如,创建一个配置文件位于 D:\mongodb\mongod.cfg,其中指定 systemLog.path 和 storage.dbPath。具体配置内容如下:

systemLog:
destination: file
path: c:\data\log\mongod.log
storage:
dbPath: c:\data\db

安装 MongoDB服务

通过执行mongod.exe,使用–install选项来安装服务,使用–config选项来指定之前创建的配置文件。

D:\mongodb\bin\mongod.exe --config “C:\mongodb\mongod.cfg” --install

要使用备用 dbpath,可以在配置文件(例如:D:\mongodb\mongod.cfg)或命令行中通过 --dbpath 选项指定。

如果需要,您可以安装 mongod.exe 或 mongos.exe 的多个实例的服务。只需要通过使用 --serviceName 和 --serviceDisplayName 指定不同的实例名。只有当存在足够的系统资源和系统的设计需要这么做。

启动MongoDB服务

net start MongoDB

关闭MongoDB服务

net stop MongoDB

移除 MongoDB 服务

D:\mongodb\bin\mongod.exe --remove

命令行下运行 MongoDB 服务器 和 配置 MongoDB 服务 任选一个方式启动就可以。

任选一个操作就好

MongoDB 后台管理 Shell

如果你需要进入MongoDB后台管理,你需要先打开mongodb装目录的下的bin目录,然后执行mongo.exe文件,MongoDB Shell是MongoDB自带的交互式Javascript shell,用来对MongoDB进行操作和管理的交互式环境。

当你进入mongoDB后台后,它默认会链接到 test 文档(数据库):

mongo
MongoDB shell version: 4.4.5
connecting to: test
……
通过配置文件启动

mongod -f D:\mongodb\conf\mongodb.conf

根据自己的需要添加、删除

dbpath = D:\mongodb\data\db
logpath = D:\mongodb\data\log\mongod.log
logappend = true
port = 27017

二、Linux平台安装MongoDB

MongoDB 提供了 linux 各个发行版本 64 位的安装包,你可以在官网下载安装包。

安装前我们需要安装各个 Linux 平台依赖包。

Red Hat/CentOS:

sudo yum install libcurl openssl

Ubuntu 18.04 LTS (“Bionic”)/Debian 10 “Buster”:

sudo apt-get install libcurl4 openssl

Ubuntu 16.04 LTS (“Xenial”)/Debian 9 “Stretch”:

sudo apt-get install libcurl3 openssl

MongoDB 源码下载地址:https://www.mongodb.com/download-center#community

多个平台安装MongoDB_mongodb_05


多个平台安装MongoDB_配置文件_06


这里我们选择 tgz 下载,下载完安装包,并解压 tgz(以下演示的是 64 位 Linux上的安装) 。

#下载方式一
wget https://fastdl.mongodb.org/linux/mongodb-linux-aarch64-rhel82-4.4.5.tgz # 下载
#下载方式二
Download 然后上传到Linux服务器
tar -zxvf mongodb-linux-x86_64-rhel80-4.4.5.tgz # 解压

mv mongodb-linux-x86_64-rhel80-4.4.5 /usr/local/mongodb # 将解压包拷贝到指定目录

MongoDB 的可执行文件位于 bin 目录下,所以可以将其添加到 PATH 路径中:

export PATH=<mongodb-install-directory>/bin:$PATH

为你 MongoDB 的安装路径。如本文的 /usr/local/mongodb 。

export PATH=/usr/local/mongodb/bin:$PATH

创建数据库目录

默认情况下 MongoDB 启动后会初始化以下两个目录:

数据存储目录:/var/lib/mongodb
日志文件目录:/var/log/mongodb
我们在启动前可以先创建这两个目录并设置当前用户有读写权限:

sudo mkdir -p /var/lib/mongodb
sudo mkdir -p /var/log/mongodb
sudo chown `root` /var/lib/mongodb # 设置权限
sudo chown `root` /var/log/mongodb # 设置权限

接下来启动 Mongodb 服务:

mongod --dbpath /var/lib/mongodb --logpath /var/log/mongodb/mongod.log --fork

打开 /var/log/mongodb/mongod.log 文件看到以下信息,说明启动成功。

# tail -10f /var/log/mongodb/mongod.log
{"t":{"$date":"2021-05-08T21:20:55.702+08:00"},"s":"I", "c":"STORAGE", "id":22430, "ctx":"WTCheckpointThread","msg":"WiredTiger message","attr":{"message":"[1620480055:702038][103656:0x7fbd6ddab700], WT_SESSION.checkpoint: [WT_VERB_CHECKPOINT_PROGRESS] saving checkpoint snapshot min: 398, snapshot max: 398 snapshot count: 0, oldest timestamp: (0, 0) , meta checkpoint timestamp: (0, 0)"}}

MongoDB 后台管理 Shell

如果你需要进入 mongodb 后台管理,你需要先打开 mongodb 装目录的下的 bin 目录,然后执行 mongo 命令文件。

MongoDB Shell 是 MongoDB 自带的交互式 Javascript shell,用来对 MongoDB 进行操作和管理的交互式环境。

当你进入 mongoDB 后台后,它默认会链接到 test 文档(数据库):

$ cd /usr/local/mongodb/bin
$ ./mongo
./mongo
MongoDB shell version v4.4.5
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("f766a9ea-efd8-4d4f-8922-823ddd271815") }
MongoDB server version: 4.4.5
---

通过配置文件启动

mongod -f /usr/local/mongodb/mongodb-linux-x86_64-rhel80-4.4.5/mongodb.conf

根据自己的需要添加、删除

port=27017
dbpath=/var/lib/mongodb
logpath=/var/log/mongodb/mongod.log
logappend=true
fork=true
bind_ip=0.0.0.0 #任何主机都可以访问

--dbpath 设置数据存放目录
--logpath 设置日志存放目录
--fork 在后台运行

三、 Docker下MongoDB的安装及使用

1 拉取镜像

可以下4.2.6版本

docker pull mongo:4.2.6

2 创建容器

27017是mongodb默认连接端口
–auth 要求使用密码进行登录

docker run -itd --name mongod -p 27017:27017 mongo:4.2.6 --auth

3 进入客户端

默认情况下Mongo中是没有任何用户的,需要进行Mongo自带客户端工具创建用户。
启动Docker客户端。
第一个mongod是容器名称
第二个mongo表示启动mongo客户端
admin表示使用admin数据库。在Mongo中从语法角度是允许用户存储在任何数据中的。但是都是把用户存储在admin数据库中,因为存储在admin中其他管理员用户才能对这个用户进行操作。所以在使用Mongo时的流程都是:

  1. 使用admin数据库。
  2. 登录用户。
  3. 切换到对应数据库。
docker exec -it mongod mongo admin

多个平台安装MongoDB_Windows_07