目录
1. bin目录文件说明
文件 | 说明 |
mongo | 客户端程序,连接MongoDB |
mongod | 服务端程序,启动MongoDB |
mongodump | 备份程序 |
mongoexport | 数据导出程序 |
mongofiles | GridFS工具,内建的分布式文件系统 |
mongoimport | 数据导入程序 |
mongorestore | 数据恢复程序 |
mongos | 数据分片程序,支持数据的横向扩展 |
mongostat | 监视程序 |
2. windows 安装
2.1 创建服务
命令:bin/mongod.exe --install --dbpath 数据库路径 --logpath 日志文件路径
C:\myServices\mongodb-4.2.3\bin>mongod.exe --install --dbpath C:\myServices\mongodb-4.2.3\myData --logpath C:\myServices\mongodb-4.2.3\myLogs\mongodb.log
2.2 启动服务
命令: net start mongodb
C:\myServices\mongodb-4.2.3\bin>net start mongodb
MongoDB 服务正在启动 .
MongoDB 服务已经启动成功。
2.3 登录服务
命令:bin/mongo
C:\myServices\mongodb-4.2.3\bin>mongo
MongoDB shell version v4.2.3
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("3d335b36-8922-4ecb-903f-8212b1894123") }
MongoDB server version: 4.2.3
2.4 关闭服务
命令:net stop mongodb
C:\myServices\mongodb-4.2.3\bin>net stop mongodb
MongoDB 服务正在停止.
MongoDB 服务已成功停止。
2.5 删除服务
命令:bin/mongod.exe --remove
3. CentOS 安装
3.1 解压并重命名
[root@localhost mySoftware]# tar -zxvf mongodb-linux-x86_64-3.0.6.tgz -C /usr/local/
……
[root@localhost local]# mv mongodb-linux-x86_64-3.0.6/ mongodb
[root@localhost local]#
[root@localhost local]# ls
bin etc games include lib lib64 libexec mongodb mySoftware sbin share src
3.2 创建数据存放目录与日志存放目录
[root@localhost local]# mkdir -p /usr/local/mongodb/data /usr/local/mongodb/logs
3.3 创建mongodb.conf文件
#端口号
port=27017
#db目录
dbpath=/usr/local/mongodb/data
#日志目录
logpath=/usr/local/mongodb/logs/mongodb.log
#后台
fork=true
#日志输出
logappend=true
#允许远程IP连接
bind_ip=0.0.0.0
3.4 启动测试
[root@localhost mongodb]# ./bin/mongod --config mongodb.conf
warning: bind_ip of 0.0.0.0 is unnecessary; listens on all ips by default
about to fork child process, waiting until server is ready for connections.
forked process: 8408
child process started successfully, parent exiting
[root@localhost mongodb]#
[root@localhost mongodb]# ./bin/mongo
MongoDB shell version: 3.0.6
connecting to: test
3.5 配置 mongodb 服务开机启动
1. 在 /lib/systemd/system 目录下新建 mongodb.service 文件
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb/bin/mongod --shutdown /usr/local/mongodb/mongodb.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
服务文件说明:
[Unit] 部分
Description : 服务的简单描述
Documentation : 服务文档
Before、After:定义启动顺序。Before=xxx.service,代表本服务在xxx.service启动之前启动。After=xxx.service,代表本服务在xxx.service之后启动。
Requires:这个单元启动了,它需要的单元也会被启动;它需要的单元被停止了,这个单元也停止了。
Wants:推荐使用。这个单元启动了,它需要的单元也会被启动;它需要的单元被停止了,对本单元没有影响。
[Service] 部分
Type=simple(默认值):systemd认为该服务将立即启动。服务进程不会fork。如果该服务要启动其他服务,不要使用此类型启动,除非该服务是socket激活型。
Type=forking:systemd认为当该服务进程fork,且父进程退出后服务启动成功。对于常规的守护进程(daemon),除非你确定此启动方式无法满足需求,使用此类型启动即可。使用此启动类型应同时指定 PIDFile=,以便systemd能够跟踪服务的主进程。
Type=oneshot:这一选项适用于只执行一项任务、随后立即退出的服务。可能需要同时设置 RemainAfterExit=yes 使得 systemd 在服务进程退出之后仍然认为服务处于激活状态。
Type=notify:与 Type=simple 相同,但约定服务会在就绪后向 systemd 发送一个信号。这一通知的实现由 libsystemd-daemon.so 提供。
Type=dbus:若以此方式启动,当指定的 BusName 出现在DBus系统总线上时,systemd认为服务就绪。
Type=idle: systemd会等待所有任务(Jobs)处理完成后,才开始执行idle类型的单元。除此之外,其他行为和Type=simple 类似。
PIDFile:pid文件路径
ExecStart:指定启动单元的命令或者脚本,ExecStartPre和ExecStartPost节指定在ExecStart之前或者之后用户自定义执行的脚本。Type=oneshot允许指定多个希望顺序执行的用户自定义命令。
ExecReload:指定单元停止时执行的命令或者脚本。
ExecStop:指定单元停止时执行的命令或者脚本。
PrivateTmp:True表示给服务分配独立的临时空间
Restart:这个选项如果被允许,服务重启的时候进程会退出,会通过systemctl命令执行清除并重启的操作。
RemainAfterExit:如果设置这个选择为真,服务会被认为是在激活状态,即使所以的进程已经退出,默认的值为假,这个选项只有在Type=oneshot时需要被配置。
[Install] 部分
Alias:为单元提供一个空间分离的附加名字。
RequiredBy:单元被允许运行需要的一系列依赖单元,RequiredBy列表从Require获得依赖信息。
WantBy:单元被允许运行需要的弱依赖性单元,Wantby从Want列表获得依赖信息。
Also:指出和单元一起安装或者被协助的单元。
DefaultInstance:实例单元的限制,这个选项指定如果单元被允许运行默认的实例。
2. 设置 mongodb.service 权限
chmod 777 mongodb.service
3. 相关命令
systemctl enable mongod.service
#设置开机启动
systemctl disable mongod.service
#停止开机启动
systemctl start mongod.service
#启动服务
systemctl status mongod.service
#查看服务状态
systemctl restart mongod.service
#重启服务
systemctl stop mongod.service
#停止服务
systemctl daemon-reload
#修改服务配置后重新载入
systemctl list-units --type=service
#查看所有已启动的服务
4. 测试:
[root@localhost system]# systemctl start mongodb.service
[root@localhost system]#
[root@localhost system]# systemctl stop mongodb.service
3.6 配置环境变量
修改 /etc/profile,export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 的上面添加如下内容后保存退出:
export PATH=/usr/local/mongodb/bin:$PATH
用以下命令让环境变量生效:
source /etc/profile
测试:
3.7 开放防火墙端口
firewall-cmd --permanent --add-port=27017/tcp
#开放27017端口
firewall-cmd --reload
#修改配置后需要重启防火墙
firewall-cmd --query-port=27017/tcp
#查询27017端口是否开放