[DabaBase] MongoDB (6) 启动、停止、相关系统配置及安全性设置
MongoDB 启动、停止、相关系统配置及安全性设置
启动MongoDB
./mongod —-help 查看帮助说明
mac-abeen:bin abeen$ sudo ./mongod --dbpath=/datatest/db --logpath=/datatest/db/test.log --port=27017 —fork
使用配置文件
mac-abeen:bin abeen$ ./mongod --config ./mongodb.conf
配置文件内容 1 # Start MongoDB as a daemon on port 27017 2 3 port = 27017 4 fork = true 5 dbpath = /datatest/db 6 logpath = /datatest/db/test.log 7 logappend = true 8
mongod.conf中常用的选项介绍: --dbpath: 指定数据目录,必选,不配置会启动报错; --port: 指定服务监听的端口,默认为27017 --logpath:指定日志路径; --logappend:指定日志是追加模式,或者每次重启MongoDB后清理日志;默认是追加模式; --fork:用此选项创建子进程,在后台运行MongoDB;此选项必先开启logpath选项; --bind_ip: 指定监听的接口;默认是127.0.0.1; --httpinterface: 设定是否在1000的端口启动一个微型的HTTP服务器;默认不开启; --nounixsocket: 设置是否使用UNIX socket; --noscripting: 设置是否完全禁止服务器端JavaScript脚本的运行;
系统配置
1. 禁用NUMA(非一致内存结构 Non-uniform Memory Architecture)
NUMA非常不利于MONGODB的运行性能,一定在服务器上禁用。
可以使用
方法一:如果使用grup,
kernel /boot/vmlinuz-2.6.38.8-generic root=/dev/sda ro quiet numa=off
方法二:$ numactl —interleave=all mongod [options]
2. 禁用 zone_reclaim_mode
$ echo 0 > /proc/sys/vm/zone_reclaim_mode
停止MongoDB
管理员命令,必须运行在admin数据库上
> use admin
switched to db admin
> db.shutdownServer()
server should be down...
强制关闭
db.adminCommand({“shutdown”: 1, “force”: true })
KILL 掉dbpid
kill -2 mongopid
kill -9 mongopid
kill mongopid
安全性
不要将MongoDB直接暴露到外网中,应尽可能的限制外部对MongoDB访问。最好的方式是设置防火墙,只允许内部网络地址对MongoDB的访问。
另外还可以在配置文件中加入以下选项增强安全性。
— bind_ip 指定监听接口
— nohttpinterface 关掉默认1000商品的微型http服务器
— nounixsocket UNIX socket 如果不用关掉
— noscripting 禁用javascript 脚本运行。
数据加密
连接到MongoDB的传输的数据默认不被加密,然而,mongodb支持SLL连接。
可以下载相关版本自己编译https://www.mongodb.com