当前位置:网站首页>本机部署一个MongoDB单节点服务器,并启用auth验证、开启oplog
本机部署一个MongoDB单节点服务器,并启用auth验证、开启oplog
2022-06-27 20:15:00 【墨天轮】
目的
本机部署一个MongoDB单节点服务器,并启用auth验证、开启oplog,用于日常测试。
版本:4.0.9
本机系统:MacOs
安装
1、使用curl命令安装。
# 进入 /usr/local
cd /usr/local
# 下载
sudo curl -O https://fastdl.mongodb.org/osx/mongodb-osx-ssl-x86_64-4.0.9.tgz
# 解压
sudo tar -zxvf mongodb-osx-ssl-x86_64-4.0.9.tgz
# 重命名为 mongodb 目录
sudo mv mongodb-osx-x86_64-4.0.9/ mongodb
2、把 MongoDB的二进制命令文件目录(安装目录/bin)添加到 PATH 路径中:
export PATH=/usr/local/mongodb/bin:$PATH
3、创建日志及数据存放的目录:
数据存放路径:
sudo mkdir -p /usr/local/var/mongodb
日志文件路径:
sudo mkdir -p /usr/local/var/log/mongodb
授予当前用户对这两个目录的读写权限:
sudo chown username /usr/local/var/mongodb
sudo chown username /usr/local/var/log/mongodb
4、后台启动 mongodb:
mongod --dbpath /usr/local/var/mongodb --logpath /usr/local/var/log/mongodb/mongo.log --fork
5、查看 mongod 服务是否启动:
ps aux | grep -v grep | grep mongod
6、启动后我们可以使用 mongo 命令打开一个终端:
$ cd /usr/local/mongodb/bin
$ ./mongo
MongoDB shell version v4.0.9
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
启用auth,使用密码登录
启动mongod服务后,使用客户端登陆,首次登陆不需要密码。
./mongo
接下来创建超级用户root,密码是root:
db.createUser({user:"root",pwd:"root",roles:[{"role":"userAdmin","db":"admin"},{"role":"root","db":"admin"},{"role":"userAdminAnyDatabase","db":"admin"}]})
MongoDB中built-in角色如下:其中built-role有如下:
Read:允许用户读取指定数据库 readWrite:允许用户读写指定数据库 dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户 clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。 readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限 readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限 userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限 dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。 root:只在admin数据库中可用。超级账号,超级权限(本次创建的就是超级账号)
加上--auth参数,重启mongo。--auth参数用来控制用户对数据库资源和操作的访问。启用授权后,MongoDB要求所有客户端首先进行身份验证,以确定客户端的访问权限。
mongod --dbpath /usr/local/var/mongodb --logpath /usr/local/var/log/mongodb/mongo.log --fork --auth
3.使用账户和密码登录。
mongo -u root -p root localhost:27017/admin
或者
mongo "mongodb://root:[email protected]:27019/admin"
单节点开启Oplog
MongoDB的副本集架构中有一个数据结构oplog,里面存储了节点所有变更操作。但是单实例没有这个结构,那么单台MongoDB实例怎么开启oplog?
方法:
需要以副本集方式启动实例,并在local数据库或admin数据库执行初始化副本集的脚本,rs.initiate()。
以副本集方式启动实例:
启动命令中,增加replSet='replset_name' 示例:
./mongod --dbpath /usr/local/var/mongodb --logpath /usr/local/var/log/mongodb/mongo.log --fork --auth --bind_ip 0.0.0.0 --replSet='test'
在local数据库或admin数据库执行初始化副本集的脚本。
语法:
rs.initiate({ _id: "replset_name", members: [{_id:0,host:"ServerIP:MongoDBPort"}]})
示例:
rs.initiate({ _id: "test", members: [{_id:0,host:"localhost:27017"}]})
注:初始化完成之后,副本集中唯一的节点,可能短时间显示为SECONDARY或OTHER。一般而言,稍等一会,就会自然恢复为primary,无需人工干预。
总结
我们可以使用curl安装MongoDB单节点服务器,开启密码验证,需要打开--auth参数。如果想要开启oplog,则需要以副本集方式启动实例,并在local数据库或admin数据库执行初始化副本集的脚本,rs.initiate()。

点个“赞 or 在看” 你最好看!

谢谢各位老板!!!
边栏推荐
- 九九乘法表——C语言
- 爬虫笔记(3)-selenium和requests
- Avoid using 100vh[easy to understand] at mobile terminal
- Azure Kinect DK 实现三维重建 (jetson实时版)
- Crawler notes (1) - urllib
- 医美大刀,砍向00后
- Is it safe for GF futures to open an account?
- Personal tree ALV template - accelerate your development
- ABAP essay-excel-3-batch import (breaking through 9999 lines of standard functions)
- Follow the archiving tutorial to learn rnaseq analysis (IV): QC method for de analysis using deseq2
猜你喜欢

This year's examinees are more "desperate" than the college entrance examination

Azure Kinect DK 实现三维重建 (PC非实时版)

"Top stream Aidou manufacturing machine" cooperates with four industrial capitals to become LP

How to participate in openharmony code contribution

Crawler notes (2) - parse

Structured machine learning project (II) - machine learning strategy (2)

PE buys a underwear company

99 multiplication table - C language

Improving deep neural networks: hyperparametric debugging, regularization and optimization (III) - hyperparametric debugging, batch regularization and program framework
Conversion between flat array and JSON tree
随机推荐
Go语言fsnotify接口实现监测文件修改
Livox Lidar+海康Camera 基于loam的实时三维重建生成RGB彩色点云
元气森林的5元有矿之死
通过tidymodels使用XGBOOST
Stunned! The original drawing function of markdown is so powerful!
Re recognize G1 garbage collector through G1 GC log
Open source of local run / development library of hiplot online drawing tool
MySQL数据库 实验报告(一)
Process judgment - ternary operation - for loop
批量处理-Excel导入模板1.1-支持多Sheet页
[can you really use es] Introduction to es Basics (II)
MapReduce初级编程实践
STM32与RC522简单公交卡系统的设计
7 jours d'apprentissage de la programmation simultanée go 7 jours de programmation simultanée go Language Atomic Atomic Atomic actual Operation contains ABA Problems
mysql中一对多关联,获取多表中最新一条数据
Avoid using 100vh[easy to understand] at mobile terminal
OData - SAP S4 OP 中使用SAP API Hub 的API
Day 7 of "learning to go concurrent programming in 7 days" go language concurrent programming atomic atomic actual operation includes ABA problem
PHP connects to database to realize user registration and login function
How to participate in openharmony code contribution