需求
将无需账号密码访问的MongoDB数据库,添加上账号密码,并且适配兼容旧的无权限访问的环境,即自动判断有无权限,无则自动加上。
分析
MongoDB开启权限访问需要两步:
- 为数据库添加账号密码,即添加用户,默认是无用户的。
- 将mongod服务开启时,加上auth参数,即开启权限认证。(或者修改MongoDB的mongod.conf配置文件,将#auth = true的注释去掉即可)
实现
话不多说,直接看脚本:
fit_mongo.sh
#!bin/bash
#以无权限控制的方式启动服务(--fork -f并不是必须的,是我自己的需求在用,有需要自行查询其他参数,)
mongod --fork -f /path/to/mongod.conf
#使用mongo [options] [db address] [file names (ending in .js)]命令执行js脚本操作数据库,并写入日志
mongo --host 127.0.0.1:27017 testdb fit_mongo.js >&g