可以试用 mongod --help
查看所有选项
启动 MongoDB:
1
2
3
4
|
mongod --dbpath xxx --port 1111 --config yyy.conf
#for ubuntu
service mongod start
|
使用配置文件获取配置信息(-f 或者 –config):
1
|
mongod --config ~/.mongodb.conf
|
停止 MongoDB:
1
2
|
kill -2 pid (SIGINT)
kill pid (SIGTEAM)
|
这两种方式都会稳妥退出,安全。
千万不能试用 kill -9 (SIGKILL) 这种方式去停止 MongoDB,这样会导致数据库直接关闭,又可能损坏数据库。
另一种方式是在 mongo shell 中试用 shutdownServer 命令,这个命令要在 admin 数据库下才能试用。
1
2
|
> use admin
> db.shutdownServer();
|
升级 MongoDB:
1
2
3
4
5
6
7
|
#for OS X
brew update
brew upgrade mongodb
#for ubuntu
http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/
需要指定安装版本
|
监控
- 使用 http 管理接口。即用浏览器访问 http://localhost:28017
如果想要关闭该接口,需要在 mongod 启动时使用 –nohttpinterface 选项
- 使用 serverStatus。在 mongo shell 下使用 db.rubCommand({‘serverStatus;: 1})
- mongostat 命令。
- 第三方插件
其他安全考虑
mongodb 传输协议是不加密的,如果需要加密,可以试用 ssh 或者类似的技术进行加密。
另外建议把 mongo 服务器布置在防火墙后或者布置在只有应用服务器能访问的网络中。同时建议使用 –bindip 选项,这样可以限制 ip 访问。运行 mongod --bindip localhost
后,只有本机的应用可以访问服务器。
最后,还可以用 –noscripting 选项完全禁止服务端 JavaScript 的执行。
备份和修复
mongodb 把所有数据都存放在数据目录下,默认目录是 /var/lib/mongo/ 下,如果只是想要备份,只需要简单创建文件副本就可以了。
mongodump 是一种可以在运行时备份的方法。这个工具使用普通的查询机制,备份时的查询会对其他客户端的性能产生不理的影响。
mongorestore 可以从备份中恢复数据的工具。
1
2
|
mongodump -d test -o backup/test
mongorestore -d foo --drop backup/test
|
mongodump
和 mongorestore
能不停机备份,但却失去了实时数据视图的能力。fsync
命令能在 mongodb 运行时赋值数据目录还不会损坏数据。
1
2
3
4
|
> use admin
> db.runCommand({'fsync': 1, 'lock': 1}) # 强制服务器将所有缓冲区写入磁盘,上锁阻止对数据库的写入。
> db.fsyncUnlock() # 解锁
> db.currentOp() # 查看
|
删除 MongoDB
1
2
3
4
5
|
#for ubuntu
sudo service mongod stop
sudo apt-get purge mongodb-org*
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb
|
参考资料
文章作者
scarletsky
上次更新
2019-04-30
(95a170d)