当前位置:网站首页>本机部署一个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 在看” 你最好看!

谢谢各位老板!!!
边栏推荐
- 游戏手机平台简单介绍
- Vue+mysql login registration case
- Structured machine learning project (I) - machine learning strategy
- 微服務之服務網關
- 这类人开始被VC疯抢,月薪8万
- Dialogue with Qiao Xinyu: the user is the product manager of Wei brand, and zero anxiety defines luxury
- Spark bug practice (including bug:classcastexception; connectexception; NoClassDefFoundError; runtimeException, etc.)
- The "business and Application Security Development Forum" held by the ICT Institute was re recognized for the security capability of Tianyi cloud
- Day 7 of "learning to go concurrent programming in 7 days" go language concurrent programming atomic atomic actual operation includes ABA problem
- Azure Kinect DK 实现三维重建 (jetson实时版)
猜你喜欢

Introduce you to ldbc SNB, a powerful tool for database performance and scenario testing

Advertising is too "wild", Yoshino "surrenders"

Solution to the error of VMware tool plug-in installed in Windows 8.1 system

Transformation from student to engineer

Workflow automation low code is the key

Passerelle de service pour les microservices

DCC888 :Register Allocation

STM32与RC522简单公交卡系统的设计

PE buys a underwear company

Livox Lidar+APX15 实时高精度雷达建图复现整理
随机推荐
PE买下一家内衣公司
结构化机器学习项目(二)- 机器学习策略(2)
凌云出海记 | 沐融科技&华为云:打造非洲金融SaaS解决方案样板
Using the cucumber automated test framework
First knowledge of the second bullet of C language
Is the dog virtue training with a monthly salary of 30000 a good business?
How to participate in openharmony code contribution
MySQL数据库 实验报告(一)
Passerelle de service pour les microservices
Spark BUG实践(包含的BUG:ClassCastException;ConnectException;NoClassDefFoundError;RuntimeExceptio等。。。。)
average-population-of-each-continent
Do you know the full meaning of log4j2 configurations? Take you through all the components of log4j2
Brief introduction to game phone platform
Is flush stock trading software reliable?? Is it safe?
"I make the world cooler" 2022 Huaqing vision R & D product launch was a complete success
九九乘法表——C语言
Open source of local run / development library of hiplot online drawing tool
Bibliothèque d'exploitation / de développement locale open source pour l'outil de dessin en ligne hiplot
The karsonzhang/fastadmin addons provided by the system reports an error
This year's examinees are more "desperate" than the college entrance examination