[DabaBase] MongoDB (6) 启动、停止、相关系统配置及安全性设置

时间:2023-03-10 00:31:14
[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

配置文件内容
# Start MongoDB as a daemon on port port =
fork = true
dbpath = /datatest/db
logpath = /datatest/db/test.log
logappend = true
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