MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
官网地址:https://www.mongodb.com/download-center/community
下载安装包到/roo/install目录
mkdir /root/install && wget -P /root/install https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.16.tgz
将安装包解压到/usr目录下,并将文件夹名称修改为mongodb
tar zxvf /root/install/mongodb-linux-x86_64-4.0.16.tgz -C /usr && mv /usr/mongodb* /usr/mongodb
配置环境变量
vi /etc/profile
进入编辑状态后,在 export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL的上面添加如下内容后保存退出:
export PATH=/usr/mongodb/bin:$PATH
使用以下命令让环境变量生效
source /etc/profile
创建数据库和日志存放目录,文件夹权限是777
cd /usr/mongodb && mkdir -m 777 data log
创建配置文件和日志文件
touch {mongodb.conf,/usr/mongodb/log/mongodb.log}
vi mongodb.conf
进入vi,按i键进入编辑状态后,将以下内容粘贴进去
port=27017
#设置端口
dbpath=/usr/mongodb/data
#数据库存文件存放目录
logpath=/usr/mongodb/log/mongodb.log
#日志文件存放路径
logappend=true
#使用追加的方式写日志
fork=true
#以守护进程的方式运行,创建服务器进程
maxConns=100
#最大同时连接数
noauth=true
#不启用验证
journal=true
#每次写入会记录一条操作日志
storageEngine=wiredTiger
#存储引擎(mmapv1、wiretiger、mongorocks)
bind_ip=0.0.0.0
#设置可访问的IP段,0.0.0.0为全部允许
按ESC键退出编辑状态,然后按住shift键,连续按两下z键保存退出。
创建服务文件:
echo "[Unit]
Description=mongodb server
After=network.target
Wants=network.target
[Service]
Type=forking
PIDFile=/var/run/mongod.pid
ExecStart=/usr/mongodb/bin/mongod --config /usr/mongodb/mongodb.conf
RestartPreventExitStatus=23
Restart=always
User=root
[Install]
WantedBy=multi-user.target
" > '/etc/systemd/system/mongod.service'
服务文件说明:
[Unit]:服务的说明
Description:描述服务
After:描述服务类别
[Service]设置服务运行参数
Type设置进程的启动类型
ExecStart设置服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为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
#查看所有已启动的服务
创建PID文件:
ps -ef | grep mongod
CentOS7默认使用的防火墙是firewall,我们需要开放防火墙端口或者关闭防火墙。
开放防火墙端口:
firewall-cmd --permanent --add-port=27017/tcp
#开放27017端口
firewall-cmd --reload
#修改配置后需要重启防火墙
firewall-cmd --query-port=27017/tcp
#查询27017端口是否开放
关闭防火墙:
systemctl stop firewalld.service
#停止防火墙
systemctl disable firewalld.service
#禁止防火墙开机启动