1.2 在目录下创建 data(存放数据), conf(存放配置), log(存放日志文件)
1.3 在上一步创建的 conf 文件夹中,新建文件 mongod.config , 内容如下:
2.1 linux下安装的过程与windows类似,从官网下载安装包
1. windows下安装
1.1 官方网站下载MongoDB 3.6 的安装包
也可以选择 zip 方式安装,解压到某个路径下就可以了。
可以选择 msi 安装,这个会自动帮你注册成windows服务,其他的与zip方式没啥区别。(不过这种方式会使用默认的配置来注册服务,我是不喜欢用)
安装后的目录如下所示(下载zip包解压后的):
1.2 在目录下创建 data(存放数据), conf(存放配置), log(存放日志文件)
1.3 在上一步创建的 conf 文件夹中,新建文件 mongod.config , 内容如下:
下面的配置是一般配置,并不都是绝对需要的,可以根据实际情况增删。(使用 properties配置)
mongodb 在 4.0版本可以使用 yaml 配置。
#数据库路径
dbpath=D:\database\MongoDB\Server\3.6\data
#日志输出文件路径
logpath=D:\database\MongoDB\Server\3.6\log\mongodb.log
#错误日志采用追加模式
logappend=true
#启用日志文件,默认启用
journal=true
#过滤掉无用的日志信息,若需要调试使用请设置为false
quiet=true
#端口号 默认为27017
port=27017
1.4 在 log 文件夹下创建 mongodb.log
1.5 配置已经完成了,可以启动服务了。
进入到bin文件加载,在当前路径下打开一个CMD窗口(切记 shift + 右键)。
D:\database\MongoDB\Server\3.6\bin>mongod -config D:\database\MongoDB\Server\3.6\conf\mongod.config
运行以上命令,服务就启动了。但是当关闭这个CMD窗口,运行就停止了,所以后面会介绍注册成服务。
当然你也可以将bin的当前路径注册到 path 路径下,这样在任何路径下都可以运行(计算机基本原理)。
注: 如果cmd出现服务没有响应,很可能是路径(log,db,conf)配置错了
1.6. 添加为 windows 服务
将mongodb注册成服务的最大好处,就是可以后台运行,可以开机启动。
** 以下操作一定要 用管理员方式 启动CMD
方式一,使用 mongod 自身的命令:
D:\database\MongoDB\Server\3.6\bin>mongo -config D:\database\MongoDB\Server\3.6\conf\mongod.config -install -serviceName "MongoDB"
serviceName 后面的字符串是 服务名,可以随意修改。
方式二,使用 windows 提供的 sc 命令(服务创建与删除):
sc 命令使用请参考:https://www.cnblogs.com/inuex/p/4299690.html
D:\database\MongoDB\Server\3.6\bin>sc create MongoDB binpath="D:\database\MongoDB\Server\3.6\bin\mongod.exe -config D:\database\MongoDB\Server\3.6\conf\mongod.config --service"
然后可以使用命令启动服务,当然也可以去服务管理图形化界面启动。
D:\database\MongoDB\Server\3.6\bin>net start mongodb
MongoDB就配置,启动成功了。
2. Linux(Centos)下安装
2.1 linux下安装的过程与windows类似,从官网下载安装包
[root@localhost app]# mongodb-linux-x86_64-rhel70-3.6.4.tgz
2.1 解压到指定安装的位置(一般在/usr中)
解压文件,并将名字改短了一点(你也可以不改)
[root@localhost app]# tar -zxvf mongodb-linux-x86_64-rhel70-3.6.4.tgz
[root@localhost app]# mv mongodb-linux-x86_64-rhel70-3.6.4 mongodb-3.6.4
2.2 创建相关的文件夹
[root@localhost mongodb-3.6.4]# mkdir data
[root@localhost mongodb-3.6.4]# mkdir conf
[root@localhost mongodb-3.6.4]# mkdir log
[root@localhost mongodb-3.6.4]# ls
2.3 在conf中增加配置文件
[root@localhost app]# cd conf
[root@localhost conf]# vi mongod.config
#数据库路径
dbpath=/usr/app/mongodb-3.6.4/data
#日志输出文件路径
logpath=/usr/app/mongodb-3.6.4/log/mongodb.log
#错误日志采用追加模式
logappend=true
#启用日志文件,默认启用
journal=true
#过滤掉无用的日志信息,若需要调试使用请设置为false
quiet=true
#端口号 默认为27017
port=27017
#所有IP都可以访问数据库
bind_ip_all=true
2.4 这样就可以启动Mongodb了
[root@localhost conf]# cd ../bin
[root@localhost bin]# ./mongod --config /usr/app/mongodb-3.6.4/conf/mongod.config
2.5 将MongoDB配置成linux的服务,并开机启动
首先记住一点 centos7 与 centos7之前的服务配置是不一样的哦,我用的是centos7,那就需要使用 systemctl 这个命令相关。centos7之前的服务器不适合以下步骤!
需要做的事情有以下两点:(我就吃了这亏,半天弄不好,很重要)
1. 将mongodb的启动方式更改为 fork 模式(后台进程启动,守护进行模式)
在mongodb配置文件后面中加上 fork=true
#数据库路径
dbpath=/usr/app/mongodb-3.6.4/data
#日志输出文件路径
logpath=/usr/app/mongodb-3.6.4/log/mongodb.log
#错误日志采用追加模式
logappend=true
#启用日志文件,默认启用
journal=true
#过滤掉无用的日志信息,若需要调试使用请设置为false
quiet=true
#端口号 默认为27017
port=27017
#绑定所有IP
bind_ip_all=true
#后台启动
fork=true
2. 在 /usr/lib/systemd/system 中增加 mongodb.service 文件
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/app/mongodb-3.6.4/bin/mongod --config /usr/app/mongodb-3.6.4/conf/mongod.config
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/app/mongodb-3.6.4/bin/mongod --shutdown --config /usr/app/mongodb-3.6.4/conf/mongod.config
PrivateTmp=true
[Install]
WantedBy=multi-user.target
关于这个文件的写法与意义,参考
配置好后,就可以用一下命令来控制服务了:
启动服务
systemctl start mongodb.service
查看服务状态
systemctl status mongodb.service
关闭服务
systemctl stop mongodb.service
开机自启动
systemctl enable mongodb.service
关闭开启自启动
systemctl disable mongodb.service
还有一个很重要的命令,如果修改了 mongodb.service 这个文件,需要reload后,才能正常使用服务:
systemctl daemon-reload