Windows+Linux系统中MongoDB5安装配置+设置自动启动(最新安装、配置方法)

一、Windows系统中的安装启动

1. 下载MongoDB

第一步:下载安装包
MongoDB 提供了可用于 32 位和 64 位系统的预编译二进制包,你可以从MongoDB官网下载安装,MongoDB 预编译二进制包下载地址:
https://www.mongodb.com/download-center#community
在这里插入图片描述

根据上图所示下载 zip 包。
提示:版本的选择:
MongoDB的版本命名规范如:x.y.z;
y为奇数时表示当前版本为开发版,如:1.5.2、4.1.13;
y为偶数时表示当前版本为稳定版,如:1.6.3、4.0.10;
z是修正版本号,数字越大越好。

详情:
http://docs.mongodb.org/manual/release-notes/#release-version-numbers
第二步:解压安装启动
将压缩包解压到一个目录中。
在解压目录中,手动建立一个目录用于存放数据文件,如 data/db
方式1:命令行参数方式启动服务
在 bin 目录中打开命令行提示符,输入如下命令:

mongod --dbpath=..\data\db

我们在启动信息中可以看到,mongoDB的默认端口是27017,如果我们想改变默认的启动端口,可以通过–port来指定端口。
为了方便我们每次启动,可以将安装目录的bin目录设置到环境变量的path中, bin 目录下是一些常用命令,比如 mongod 启动服务用的,
mongo 客户端连接服务用的。
在这里插入图片描述

这里我要说明一点 mongodb 可以不用配置环境变量。配置环境变量只是为了能在终端(cmd窗口)任意路径中执行bin目录中的命令,就是起到一个方便的作用。
如果要配置环境变量也非常的简单:先百度“如何设置win10环境变量”。注意!!进入到环境变量后需要修改的是用户环境变量中的path,选择path双击,打开后点击“新建”,把bin目录的路径粘贴进去(我的就是:E:\xusheng\MongoDB\mongodb-5.0.8\bin)
不配置环境变量。如果要启动数据库只能在解压后的 bin 目录中打开 cmd 窗口输入 mongod --dbpath=…\data\db 才可以启动,这里你暂时不要启动数据库,因为你没有创建 data 目录还有 db 目录,当然你会创建就可以启动。

方式2:配置文件方式启动服务
在解压目录中新建 conf 文件夹,该文件夹中新建配置文件 mongod.cfg ,内如参考如下:
windows 配置conf文件已经改变了, 后缀是.cfg了。建议查看官网配置文档

storage:
	#The directory where the mongod instance stores its data.Default Value is "\data\db" on Windows.
	dbPath: E:\xusheng\MongoDB\mongodb-5.0.8\data\db
systemLog:
	destination: file
	path: E:\xusheng\MongoDB\mongodb-5.0.8\data\log\mongod.log
storage:
	#The directory where the mongod instance stores its data.Default Value is "\data\db" on Windows.
	dbPath: E:\xusheng\MongoDB\mongodb-5.0.8\data\db
net:
	port: 27017
	#错误日志采用追加模式
	logappend=true
	#启用日志文件,默认启用
	journal=true
	#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
	quiet=true
	#端口号 默认为27017
	port=27017
	#开启子进程
	fork=true
	#开启认证,必选先添加用户,先不开启(不用验证账号密码)
	#auth=true

详细配置项内容可以参考官方文档:https://docs.mongodb.com/manual/reference/configuration-options/

2. 创建目录及配置文件

接下来在 bin 目录同级的目录创建 data 目录,继续在 data 目录下创建 db 以及 log。log 目录中还需要创建 mongod.log 文件。这个文件一定要创建否则找不到会报错。

db:表示数据存储的文件夹
log:表示日志打印的文件夹

在这里插入图片描述
【注意】
1)配置文件中如果使用双引号,比如路径地址,自动会将双引号的内容转义。如果不转义,则会报错:

error-parsing-yaml-config-file-yaml-cpp-error-at-line-3-column-15-unknown-escape-character-d

解决:

a. 对 \ 换成 / 或 \
b. 如果路径中没有空格,则无需加引号。

2)配置文件中不能以Tab分割字段

解决:
将其转换成空格。

3. 添加到服务(开机自动启动)

只有将 mongodb 添加到系统服务中,他才能自动启动。

**注意!!**必须以管理员身份打开 cmd 窗口。按照我如下的方式进入文件中
在这里插入图片描述
按顺序输入如下命令,注意!!这里路径需要自己修改
这里表示执行配置文件,需要写入你的配置文件路径:

mongod --config E:\xusheng\MongoDB\mongodb-5.0.8\conf\mongod.cfg --install --sesrviceName "MongoDB"

在这里插入图片描述
如果配置文件执行报错,最终无法启动,那么就自己在命令行配置mongoDB,把上面需要执行的命令替换为如下命令即可(注意修改自己的路径)

mongod --dbpath "E:\xusheng\MongoDB\mongodb-5.0.8\data\db" --logpath "E:\xusheng\MongoDB\mongodb-5.0.8\data\log\mongod.log" --install --serviceName "MongoDB"

在这里插入图片描述
启动mongoDB:

net start MongoDB

或者

mongod -f ../conf/mongod.cfg
或
mongod --config ../conf/mongod.cfg

后续如果修改 mongoDB 的端口就直接改配置文件,删除服务(服务的删除执行命令:sc delete MongoDB),重新执行“添加到服务”

4. 检查

在键盘上按 “WIN+R”,输入“services.msc”指令确定。
打开服务后,找到MongoDB,如下图表示已经成功!
到这里你已经完成了 mongoDB 的所有配置。接下来如果你需要连接数据库。分两种情况:

使用 cmd 命令窗口连接
如果你已经配置了环境变量,直接在 cmd 窗口中输入 mongo 即可连接成功
如果没有配置环境变量,则需要在 bin 目录中打开 cmd 窗口,输入 mongo

5. Shell连接(mongo命令

在命令提示符输入以下shell命令即可完成登陆

mongo
或
mongo --host=127.0.0.1 --port=27017

查看已经有的数据库

>show databases

在这里插入图片描述

退出mongodb

exit

更多参数可以通过帮助查看:

mongo --help

提示:
MongoDB javascript shell是一个基于javascript的解释器,故是支持js程序的。

6. Compass-图形化界面客户端

到MongoDB官网下载MongoDB Compass,
地址:
https://www.mongodb.com/download-center/v2/compass?initial=true
如果是下载安装版,则按照步骤安装;如果是下载加压缩版,直接解压,执行里面的 MongoDBCompassCommunity.exe 文件即可。
在打开的界面中,输入主机地址、端口等相关信息,点击连接:
在这里插入图片描述

二、Linux系统中的安装启动

目标:在Linux中部署一个单机的MongoDB,作为生产环境下使用。
提示:和Windows下操作差不多。
步骤如下:

1. 下载解压

(1)先到官网下载压缩包 mongod-linux-x86_64-4.0.10.tgz 。
(2)上传压缩包到Linux中,解压到当前目录:

tar -xvf mongodb-linux-x86_64-4.0.10.tgz

(3)移动解压后的文件夹到指定的目录中:

mv mongodb-linux-x86_64-4.0.10 /usr/local/mongodb

(4)新建几个目录,分别用来存储数据和日志:

#数据存储目录
mkdir -p /mongodb/single/data/db
#日志存储目录
mkdir -p /mongodb/single/log

2. 新建并修改配置文件

(5)新建并修改配置文件

vi /mongodb/single/mongod.conf

配置文件的内容如下:

systemLog:
#MongoDB发送所有日志输出的目标指定为文件
# #The path of the log file to which mongod or mongos should send all diagnostic logging information
destination: file
#mongod或mongos应向其发送所有诊断日志记录信息的日志文件的路径
path: "/mongodb/single/log/mongod.log"
#当mongos或mongod实例重新启动时,mongos或mongod会将新条目附加到现有日志文件的末尾。
logAppend: true
storage:
#mongod实例存储其数据的目录。storage.dbPath设置仅适用于mongod。
##The directory where the mongod instance stores its data.Default Value is "/data/db".
dbPath: "/mongodb/single/data/db"
journal:
#启用或禁用持久性日志以确保数据文件保持有效和可恢复。
enabled: true
processManagement:
#启用在后台运行mongos或mongod进程的守护进程模式。
fork: true
net:
#服务实例绑定的IP,默认是localhost
bindIp: localhost,192.168.0.2
#bindIp
#绑定的端口,默认是27017
port: 27017

(6)启动MongoDB服务

[root@bobohost single]# /usr/local/mongodb/bin/mongod -f /mongodb/single/mongod.conf
about to fork child process, waiting until server is ready for connections.
forked process: 90384
child process started successfully, parent exiting

注意:
如果启动后不是 successfully ,则是启动失败了。原因基本上就是配置文件有问题。
通过进程来查看服务是否启动了:

[root@bobohost single]# ps -ef |grep mongod
root 90384 1 0 8月26 ? 00:02:13 /usr/local/mongdb/bin/mongod -f /mongodb/single/mongod.conf
bin/mongo mongodb://192.168.10.102:27017

在这里插入图片描述
在这里插入图片描述

3. 连接测试

(7)分别使用mongo命令和compass工具来连接测试。
提示:如果远程连接不上,需要配置防火墙放行,或直接关闭linux防火墙

#查看防火墙状态
systemctl status firewalld
#临时关闭防火墙
systemctl stop firewalld
#开机禁止启动防火墙
systemctl disable firewalld

(8)停止关闭服务
停止服务的方式有两种:快速关闭和标准关闭,下面依次说明:
(一)快速关闭方法(快速,简单,数据可能会出错)
目标:通过系统的kill命令直接杀死进程:
杀完要检查一下,避免有的没有杀掉。

#通过进程编号关闭节点
kill -2 54410

4. 补充

如果一旦是因为数据损坏,则需要进行如下操作(了解):
1)删除lock文件:

rm -f /mongodb/single/data/db/*.lock

2)修复数据:

/usr/local/mongdb/bin/mongod --repair --dbpath=/mongodb/single/data/db

(二)标准的关闭方法(数据不容易出错,但麻烦):
目标:通过mongo客户端中的shutdownServer命令来关闭服务
主要的操作步骤参考如下:

//客户端登录服务,注意,这里通过localhost登录,如果需要远程登录,必须先登录认证才行。
mongo --port 27017
//#切换到admin库
use admin
//关闭服务
db.shutdownServer()

猜你喜欢

转载自blog.csdn.net/m0_52435951/article/details/124873142
今日推荐