Docker部署MongoDB副本集
docker拉取mongo
docker pull mongo
安装mongo单机版
docker run -itd --name mongo -p 27017:27017 mongo --authdocker exec -it mongo mongo admindb.createUser({ user:'admin',pwd:'Wy!@#456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});db.auth('admin','Wy!@#456')use ylgroupdb.createUser({user:'root',pwd:'Wy!@#456',roles:[{role:'userAdmin',db:'ylgroup'}]});db.grantRolesToUser("root",[{role:"readWrite",db:"ylgroup"}]);
安装mongo副本集
配置及端口号配置信息,启动三个以上mongo服务,节点指向一个"rs"
docker run -itd --name mongo1 -p 27001:27017 --restart=always -v /root/docker/mongo/mongo1/db:/data/db -v /root/docker/mongo/mongo1/conf:/data/conf -v /root/docker/mongo/mongo1/log:/data/log mongo --replSet "rs"docker run -itd --name mongo2 -p 27002:27017 --restart=always -v /root/docker/mongo/mongo2/db:/data/db -v /root/docker/mongo/mongo2/conf:/data/conf -v /root/docker/mongo/mongo2/log:/data/log mongo --replSet "rs"docker run -itd --name mongo3 -p 27003:27017 --restart=always -v /root/docker/mongo/mongo3/db:/data/db -v /root/docker/mongo/mongo3/conf:/data/conf -v /root/docker/mongo/mongo3/log:/data/log mongo --replSet "rs"
启动成功后可以通过docker ps查看容器id
docker ps
可以通过俩种方式进入容器中的mongo内部。
进入容器方式一
docker exec -it 容器ID /bin/bash mongo
进入容器方式二
docker exec -it mongo1 mongo admin
如上图则进入容器内部。
注意我这里选了m0作为我的主数据库,其余m1,m2为从数据库。
对主从节点进行配置
var config={_id:"rs",members:[{_id:0,host:"你服务器ip:27001"},{_id:1,host:"你服务器ip:27002"},{_id:2,host:"你服务器ip:27003"}
]};
如果你是本地安装,这里建议不安装副本集,一旦IP发送变化,副本集数据库就不好使了。不能使用公网ip,否则会报错!
执行配置
rs.initiate(config)
执行成功之后,可以通过
rs.conf() 查看是否配置成功和信息,
rs.status() 查看各节点状态。
创建数据库并设置访问数据库用户权限
创建数据库
use ylgroup
添加数据
db.ylgroup.insert({"name":"张三"})
配置数据库用户访问权限
db.createUser({user:'root',pwd:'admin',roles:[{role:'userAdmin',db:'ylgroup'}]});
附:MongoDB基本的角色
1.数据库用户角色:read、readWrite;
2.数据库管理角色:dbAdmin、dbOwner、userAdmin;
3.集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4.备份恢复角色:backup、restore;
5.所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6.超级用户角色:root
客户端连接
Docker部署MongoDB副本集相关推荐
- 小丸子学MongoDB系列之——部署MongoDB副本集
1.以副本集的方式启动mongodb实例 1.1 创建副本集目录 [mgousr01@vm1 ~]$ mkdir -p mongorep/{mg17/{bin,conf,data,logs,pid}, ...
- Linux 部署 MongoDB 副本集
其实贼简单别搞复杂了. 1.把安装包下载下来 https://www.mongodb.org/dl/linux/x86_64 这个地址有所有的mongoDB版本,找到你想要的版本,F12看到下载地址, ...
- DockerCompose MongoDB 副本集(集群) (客户端验证密码 - 集群内部使用mongodbKeyfile验证 ) 部署
本部署MongoDB副本集是没有用其他的配置什么的(例如: mongodb-compass).是最简单的一个 我是为了mongodb的事务才配置的这个副本集,要使用mongodb的事务必须要副本集. ...
- MongoDB副本集部署
实验环境:准备三台服务器部署MongoDB副本集 1.MongoDB下载安装(三台服务器操作相同) cd /data/mongodbwget https://fastdl.mongodb.org/li ...
- Docker下,实战mongodb副本集(Replication)
在<Docker下,极速体验mongodb>一文中我们体验了单机版的mongodb,实际生产环境中,一般都会通过集群的方式来避免单点故障,今天我们就在Docker下实战mongodb副本集 ...
- mongodb副本集+分片集群部署 step by step
mongodb副本集+分片集群部署step by step 本文只讲述mongodb副本集+分片集群的部署,关于mongdb shading & replica set原理优点等不在本文讨论范 ...
- MongoDB副本集的部署与操作
一.实验综述 1.实验目的及要求 (1)了解MongoDB副本集 (2)熟悉MongoDB副本集成员 (3)掌握MongoDB副本集部署 (4)掌握MongoDB副本集操作 (5)理解副本集机制 实验 ...
- (2)MongoDB副本集自动故障转移原理(含客户端)
前文我们搭建MongoDB三成员副本集,了解集群基本特性,今天我们围绕下图聊一聊背后的细节. 默认搭建的副本集均在主节点读写,辅助节点冗余部署,形成高可用和备份,具备自动故障转移能力. 集群心跳保活 ...
- MongoDB副本集(Replica Sets)搭建教程
MongoDB副本集(Replica Sets)搭建教程 最近在生产环境下部署公司项目.由于项目中有使用到MongoDB,所以参考网上的博客,在服务器上进行搭建MongoDB副本集.今天打算将其记录成 ...
最新文章
- DataGridView控件60招(一)
- QT5运行错误:ImportError: cannot import name QAxContainer from PyQt5 解决
- leetcode_add_two_numbers
- mendeley引用参考文献不显示_免费文献管理器Mendeley
- 如何使用Webpack在HTML,CSS和JavaScript之间共享变量
- java 线程 free_Java进阶05 多线程
- 对VSCode在安装了Dev-cpp的电脑上的配置
- 比较三个数大小PHP代码,php 写程序求三个数的最大值
- 如何修改PDF文档,怎么编辑PDF背景
- FaceBoundingBoxInInfraredSpace 得到的深度空间的数值为空
- java数组排序方法
- ngod规范_[转载]NGOD一些感悟
- 实战项目之后台管理系统
- 微信公众号cookie+token获取
- 前端单位的解读和换算px/%/em/rem/vh/vm/vim/vmax
- 皮尔森相关系数和样本方差
- JS中的debugger调试(谷歌浏览器)
- iPhone备忘录删了怎么恢复?恢复备忘录的两大方法!
- 微信打开页面,下载东西时调用其他浏览器下载
- c 语言 批量更改文件名,rename 批量修改文件名
热门文章
- 笔记:threejs 版本不同用法
- 切换双系统ubuntu使用的显卡
- suse9安装oracle,SUSE 9 ENTERPRISE 安装ORACLE 9I 成功文档
- C++动态创建多维数组
- python文件的写入
- 疫情下的远程办公与桌面分享
- hdu - 4664 - Triangulation(博弈SG)
- WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connec
- CVE-2019-0708 PoC with EXP ( Proof of Concept with Exploits )
- 计蒜课/百度的年会游戏(枚举)