MongoDB进阶之路第五篇-Linux-7.5下将MongoDB注册为系统服务并开机启动

版权声明:本文为博主原创文章,如果觉得写的不错需要转载,在转载时请注明博文出处! https://blog.csdn.net/Hello_World_QWP/article/details/83009126

 

     《 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
版权声明: 本文为博主原创文章,请在转载时务必注明博文出处!

猜你喜欢

转载自blog.csdn.net/Hello_World_QWP/article/details/83009126