mongodb 3.4 安装与配置(单机)
下载安装包 下载地址
企业版和社区版本区别
我用的是社区版通用64位安装包(至于直接解压安装,还是用包管理器安装看个人习惯,大多数人应该是解压安装方便管理)
解压安装包到目录
我的在(/usr/local/mongodb)
新建conf 目录添加配置文件 mongo.conf
** 注意**: 此时authorization是disable的
新建启动脚本 startmq.sh
- 启动前: 禁用大内存页官方详细解释
- 以numacl启动
启动成功添加管理用户
-
链接数据库
./mongo --host 192.168.243.140
-
添加用户
这里我们先添加一个超级管理员 role为root
mongodb内建角色
给用户赋权限命令
use admin
db.createUser({
user:"root",
pwd:"root123456",
roles:[{
role:"root",
db:"admin"
}]
});
shutdown数据库
我们用kill -2 杀掉进程
注意: 官方特意说明千万不要kill -9 损坏数据
官网mongodb 进程说明
修改参数重启
- 修改conf文件mongo.conf 里面
- 修改authorization为enable
- 执行startmq.sh
- 登录mongodb
./mongo -u root -p root123456 --host 192.168.243.140/admin
- 新建数据库,添加用户
use testDb
db.createUser({
user:"test",
pwd:"test123456",
roles:[{
role:"readWrite",
db:"testDb"
}]
});
Success!
说明:
conf文件
systemLog:
verbosity: 0
destination: file
path: "/usr/local/mongodb/log/mongod.log"
logAppend: true
timeStampFormat: iso8601-local
storage:
dbPath: "/usr/local/mongodb/data"
engine: wiredTiger
wiredTiger:
engineConfig:
journalCompressor: snappy
directoryPerDB: true
journal:
enabled: true
processManagement:
fork: true
net:
bindIp: 192.168.243.140
port: 27017
security:
authorization: disabled
setParameter:
enableLocalhostAuthBypass: false
startmq.sh
#!/bin/bash
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
numactl --interleave=all /home/eversec/mongodb/bin/mongod --config ../conf/master.conf
关于企业版和社区版的区别:
- 官网给出的解释:
- In-memory Storage Engine
高吞吐量,低延迟
- Encrypted Storage Engine
数据加密
- Advanced Security
使用LDAP和Kerberos访问控制,全面的审计功能
- 除了Ops Manager,Compass和BI连接器之外,还提供对MongoDB和最佳SLA的最全面的支持