2017-04-20T18:32:26.865+0800 E QUERY [thread1] Error: shutdownServer failed: {
"ok" : 0,
"errmsg" : "not authorized on admin to execute command { shutdown: 1.0 }",
"code" : 13
} :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
DB.prototype.shutdownServer@src/mongo/shell/db.js:302:1
@(shell):1:1
解决办法,执行下面的语句,添加权限:
db.updateUser(
"pfnieadmin",
{
roles : [
{"role" : "userAdminAnyDatabase","db" : "admin"},
{"role" : "dbOwner","db" : "admin"},
{"role" : "clusterAdmin", "db": "admin"}
]
}
)
然后在执行db.shutdownServer().
或者执行下面的命令关闭:
killall mongod
3. 启动mongod服务
mongod --config /usr/local/mongoDB/mongodbserver/etc/mongodb.conf
九、MongoDB设置为系统服务并且设置开机启动
1.通过上面简单的操作,我们已经将MongoDB配置文件配置完成,那么接下里我们将为MongoDB设置系统服务。
2.首先添加MongoDB系统服务,命令如下:vim /etc/rc.d/init.d/mongod
3.打开编辑器后,我们将下面的配置粘贴进去,然后保存
start() {
/usr/local/mongoDB/mongodbserver/bin/mongod --config /usr/local/mongoDB/mongodbserver/etc/mongodb.conf
}
stop() {
/usr/local/mongoDB/mongodbserver/bin/mongod --config /usr/local/mongoDB/mongodbserver/etc/mongodb.conf --shutdown
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo
$"Usage: $0 {start|stop|restart}"
exit 1
esac
4.保存完成之后,添加脚本执行权限,命令如下:chmod +x /etc/rc.d/init.d/mongod
5.启动MongoDB,service mongod start 如下图所示,则说明启动成功:
6.可以使用命令service mongod stop关闭MongoDB服务。
7. 验证mongoDB是否启动,输入命令lsof -i :27017,监测端口已经在使用中,所以说启动已经完成。
更多MongoDB相关教程见以下内容:
在 Azure 虚拟机上快速搭建 MongoDB 集群 https://www.linuxidc.com/Linux/2017-09/146778.htm
MongoDB复制集原理 https://www.linuxidc.com/Linux/2017-09/146670.htm
MongoDB 3.4 远程连接认证失败 https://www.linuxidc.com/Linux/2017-06/145070.htm
Ubuntu 16.04中安装MongoDB3.4数据库系统 https://www.linuxidc.com/Linux/2017-07/145526.htm
MongoDB权威指南第2版PDF完整带书签目录 下载见 https://www.linuxidc.com/Linux/2016-12/138253.htm
如何在Ubuntu 18.04 LTS上安装和配置MongoDB https://www.linuxidc.com/Linux/2018-05/152253.htm
MongoDB日常运维操作命令集锦 https://www.linuxidc.com/Linux/2018-08/153631.htm