MongoDB安装
rpm安装
参考官方文档:http://docs.mongoing.com/manual-zh/tutorial/install-mongodb-enterprise-on-red-hat.html
配置MongoDB Enterprise的yum 源文件:
[root@localhost ~]# vim /etc/yum.repos.d/mongodb.repo
[mongodb-enterprise]
name=MongoDB Enterprise Repository
baseurl=https://repo.mongodb.com/yum/redhat/$releasever/mongodb-enterprise/3.4/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
安装:
[root@localhost ~]# yum install -y mongodb-enterprise
启动:
[root@localhost ~]# systemctl start mongod
[root@localhost ~]# systemctl enable mongod
源码安装:
下载软件包:[root@localhost ~]# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.4.7.tgz
解压:[root@localhost ~]# tar xf mongodb-linux-x86_64-rhel70-3.4.7.tgz -C /usr/local/
创建数据目录:[root@localhost ~]# mkdir -p /data/db
启动:
[root@localhost ~]# cd /usr/local/
[root@localhost local]# ln -sv mongodb-linux-x86_64-rhel70-3.4.7/ mongodb
"mongodb" -> "mongodb-linux-x86_64-rhel70-3.4.7/"
[root@localhost local]# echo "export PATH=$PATH:/usr/local/mongodb/bin" > /etc/profile.d/mongo.sh
[root@localhost local]# source /etc/profile.d/mongo.sh
[root@localhost ~]# mongod --dbpath /data/db/ &
mongod 启动数据库进程
--dbpath 指定数据库的目录
--port 指定数据库的端口,默认是27017
--bind_ip 绑定IP
--directoryperdb为每个db创建一个独立子目录
--logpath指定日志存放目录
源码安装
--
服务脚本:
1、创建配置文件mongod.conf
[root@localhost ~]# vim /usr/local/mongodb/bin/mongod.conf
systemLog:
destination: file #以文件形式输出日志文件,输入file之前,需要空格
path: /usr/local/mongodb/log/mongodb.log #表示存储日志文件
logAppend: true #日志是追加模式,false是覆盖模式
storage:
dbPath: /usr/local/mongodb/data #表示存储mongodb数据库文件目录
processManagement:
fork: true #作为后台服务运行
#net:
# bindIP: 127.0.0.1
# port: 27017
#security:
# authorization:enabled
2、按配置文件设置创建日志和数据文件存放目录:
[root@localhost ~]# mkdir -p /usr/local/mongodb/{data,log}
3、配置mongodb.service文件
[root@localhost ~]# vim /usr/lib/systemd/system/mongodb.service
[Unit]
Description=mongodb service daemon
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/bin/mongod.conf
ExecStop=/usr/local/mongodb/bin/mongod --shutdown -f /usr/local/mongodb/bin/mongod.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
保存mongodb.service文件后,需要输入命令进行重新加载.
[root@localhost ~]# systemctl daemon-reload
测试服务脚本:
注意:测试之前先将之前用命令启动服务停止。
[root@localhost ~]# kill `pidof mongod`
[root@localhost ~]# systemctl start mongodb
[root@localhost ~]# systemctl enable mongodb
[root@localhost ~]# lsof -i tcp:27017
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mongod 11621 root 7u IPv4 47543 0t0 TCP *:27017 (LISTEN)
启动服务:
systemctl start mongod
systemctl enable mongod
验证测试:
查看端口:ss -lnupt | grep :27017
查看进程:ps -ef | grep mongod
反查端口:lsof -i tcp:27017
服务状态:systemctl status mongod
配置文件讲解:
# 数据库文件位置
dbpath=/var/lib/mongodb
#日志文件的路径
logpath=/var/log/mongodb/mongodb.log
# 是否追加方式写入日志,默认True
logappend=true
# 设置绑定ip
bind_ip = 127.0.0.1
# 设置端口
port = 27017
# 是否以守护进程方式运行,默认false
fork = true
# 启用日志文件,默认启用
journal=true
# 启用定期记录CPU利用率和 I/O 等待,默认false
#cpu = true
# 是否以安全认证方式运行,默认是不认证的非安全方式
#noauth = true
#auth = true
# 详细记录输出,默认false
#verbose = true
#用于开发驱动程序时验证客户端请求
#objcheck = true
# # 启用数据库配额管理,默认false
#quota = true
# 设置oplog日志记录等级,默认0
# 0=off (default)
# 1=W
# 2=R
# 3=both
# 7=W+some reads
#oplog = 0
# 是否打开动态调试项,默认false
#nocursors = true
# 忽略查询提示,默认false
#nohints = true
# 禁用http界面,默认为localhost:28017
#nohttpinterface = true
# 关闭服务器端脚本,这将极大的限制功能,默认false
#noscripting = true
# 关闭扫描表,任何查询将会是扫描失败
#notablescan = true
# 关闭数据文件预分配
#noprealloc = true
# 为新数据库指定.ns文件的大小,单位:MB
# nssize = <size>
# 用于Mongo监控服务器的Accout token。
#mms-token = <token>
# Mongo监控服务器的服务器名称。
#mms-name = <server-name>
# Mongo监控服务器的Ping间隔时间,即心跳
#mms-interval = <seconds>
# Replication Options
# 设置主从复制参数
#slave = true # 设置从节点
#source = master.example.com # 指定从节点的主节点
# Slave only: 指定要复制的单个数据库
#only = master.example.com
# or
#master = true # 设置主节点
#source = slave.example.com
# 设置副本集的名字,所有的实例指定相同的名字属于一个副本集
replSet = name
#pairwith = <server:port>
# 仲裁服务器地址
#arbiter = <server:port>
# 默认为false,用于从实例设置。是否自动重新同步
#autoresync = true
# 指定的复制操作日志(OPLOG)的最大大小
#oplogSize = <MB>
# 限制复制操作的内存使用
#opIdMem = <bytes>
# 设置ssl认证
# Enable SSL on normal ports
#sslOnNormalPorts = true
# SSL Key file and password
#sslPEMKeyFile = /etc/ssl/mongodb.pem
#sslPEMKeyPassword = pass