《 MongoDB进阶之路第五篇-Linux-7.5下将MongoDB注册为系统服务并开机启动 》
关于MongoDB
在前面,介绍了这么多,在这儿就不作过多的介绍!
MongoDB 是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 json 的 bson 格式,因此可以存储比较复杂的数据类型。MongoDB 最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
MongoDB 注册为系统服务
1、首先,需要创建自定义 MongoDB 的日志和数据存放目录,
分别输入命令 “ mkdir db ”,和“ mkdir log ” ,创建成功后,如下图:
2、新建 MongoDB 配置文件,
在 MongoDB 安装目录中输入命令 “ vi mongod.config ” 输入如下内容:
## mongodb customize the configuration file
# mongodb port number
port=27018
# mongodb data file path
dbpath=/opt/mongodb/db/
# mongodb log file path
logpath=/opt/mongodb/log/mongo.log
# mongodb automatically append log files
logappend=true
如下图:
3、创建系统服务启动文件,
进入到系统目录,输入命令 “ cd /etc/init.d/ ” ,
创建 MongoDB 服务文件,输入命令 “ vi mongod ” ,并录入如下内容:
#!/bin/sh
# MongoDB shell version v4.0.2
# connecting to: mongodb://127.0.0.1:27018
# MongoDB server version: 4.0.2
MONGO_PATH=/opt/mongodb/bin/mongod
MONGO_PID=`ps -ef|grep 'mongod' | grep -v grep|awk '{print $2}'`
test -x $MONGO_PATH || exit 0
case "$1" in
start)
ulimit -n 2000
echo "starting mongod server"
$MONGO_PATH --fork --quiet -f /opt/mongodb/mongod.config
echo "started mongod server"
;;
stop)
echo "stopping mongod server"
if [ ! -z "$MONGO_PID" ]; then
kill -15 $MONGO_PID
fi
echo "stopped mongod server"
;;
status)
;;
*)
echo "usage: mongod {start|stop|status}"
exit 1
esac
exit 0
创建成功后,保存文件,
此时的 mongod 文件还是普通文件,还需要设置为可执行文件,输入命令 “ chmod +x mongod ” ,如下图:
有关文件权限的设置说明,请参看另一篇博客!就不再这儿详细阐述了!
4、MongoDB 注册为系统服务并设置开机启动,分别输入命令
“ chkconfig --add mongod ”
“ chkconfig on ”
如下图:
MongoDB 系统服务测试
启动 MongoDB 服务,输入命令 “ systemctl start mongod ” ,
查看服务是否启动成功,输入命令 “ systemctl status mongod ”,
如下图:
停止 MongoDB 服务,直接输入命令 “ systemctl stop mongod ” ,
查看是否成功关闭,输入命令 “ systemctl status mongod ”,
如下图:
启动 MongoDB 系统服务后,如果没有变更端口或者IP就直接输入命令 “ mongo ” 就可以操作文档数据了,这儿以前的端口被占用了,这儿变更了端口,所以需要指定端口才能正确连接 MongoDB 服务,输入命令 “ mongo --port 27018 ” 进行连接,连接成功后,会打印相关日志,如下图:
MongoDB 权限设置
一、创建管理员账户
1、连接到 MongoDB 服务器,输入命令 “ mongo --host 192.168.159.160 --port 27018 ”,
切换到 admin 数据库,输入命令 “ use admin ”,
新增一个 MongoDB 用户,并授权,输入脚本 “ db.createUser({user:"root",pwd:"12345",roles:[{role:"userAdminAnyDatabase",db:"admin"},{role:"dbOwner",db:"admin"}]}); ”,
添加成功后,如下图:
*注意:这儿的IP地址需要通过 bind_ip 变量进行设置,否则无法实现连接。
查看添加的用户,输入命令 “ show users/db.system.users.find() ”,如下图:
2、开启 MongoDB 的权限验证,在 MongoDB 的配置文件末尾添加 “ auth=true ” ,重启 MongoDB 服务,
3、验证权限是否可用,在未授权之前是无法对数据库进行任何操作的,输入命令 “ db.auth("用户名","密码"); ” 才能进行 CRUD 的操作,如下图:
未授权以前,无法对数据库进行任何的操作,如下图:
这儿使用管理员账户进行授权,授权后,就可以正常的访问了,如下图:
二、创建普通 MongoDB 用户
1、这儿以创建上图中 “ etc_employee ” 数据库的普通用户为例 ,先输入命令 “ use etc_employee ” ,再输入脚本进行创建,输入脚本儿 :
db.createUser(
{
user: "emp",
pwd: "12345",
roles: [ { role: "readWrite", db: "etc_employee" } ]
}
)
如下图:
*注意:用户名是全局唯一的,且可以同时指定多个数据库权限,数组对象哟!!!还可以指定多个权限的。。。
2、测试普通用户,
参考地址:MongoDB官网
好了,关于 MongoDB进阶之路第五篇-Linux-7.5下将MongoDB注册为系统服务并开机启动 就写到这儿了,如果还有什么疑问或遇到什么问题欢迎扫码提问,也可以给我留言哦,我会一一详细的解答的。
歇后语:“ 共同学习,共同进步 ”,也希望大家多多关注CSND的IT社区。
作 者: | 华 仔 |
联系作者: | [email protected] |
来 源: | CSDN (Chinese Software Developer Network) |
原 文: | https://blog.csdn.net/Hello_World_QWP/article/details/83009126 |
版权声明: | 本文为博主原创文章,请在转载时务必注明博文出处! |