[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

 

posted @ 2016-12-09 14:29 ABeen 阅读(...) 评论(...) 编辑 收藏