一:使用命令行方式配置mongodb主从

  1. [root@server11 ~]#  /usr/local/mongodb/bin/mongod --bind_ip 192.168.1.112 -port 3306 --dbpath /data/mongodb/db1/ --logpath /usr/local/mongodb/logs/server1.log  --rest --master &
  2. [1] 14449
  3. [root@server12 ~]#  /usr/local/mongodb/bin/mongod --bind_ip 192.168.1.113 --port 3306 --dbpath /data/mongodb/db2/ --logpath /usr/local/mongodb/logs/server2.log  --rest --slave --source 192.168.1.112:3306 &
  4. [1] 16853
二:连接测试数据同步情况 
  1. [root@server11 ~]# /usr/local/mongodb/bin/mongo 192.168.1.112:3306
  2. MongoDB shell version: 2.2.2
  3. connecting to: 192.168.1.112:3306/test
  4. > use test
  5. switched to db test
  6. > db.test.save({b:2})
  7. > db.test.find()
  8. { "_id" : ObjectId("50fcb7f05712bfb21c866dc6"), "a" : 1 }
  9. { "_id" : ObjectId("50fcdccf252ef3433457646f"), "b" : 2 }
  10. [root@server12 ~]# /usr/local/mongodb/bin/mongo 192.168.1.113:3306
  11. MongoDB shell version: 2.2.2
  12. connecting to: 192.168.1.113:3306/test
  13. > use test
  14. switched to db test
  15. > db.test.find()
  16. { "_id" : ObjectId("50fcb7f05712bfb21c866dc6"), "a" : 1 }
  17. { "_id" : ObjectId("50fcdccf252ef3433457646f"), "b" : 2 }

三:创建repl用户,主要用于后续的安全认证同步
  1. [root@server11 ~]#  /usr/local/mongodb/bin/mongo 192.168.1.112:3306
  2. > use local
  3. switched to db local
  4. > db.addUser('repl','replication')
  5. {
  6. "user" : "repl",
  7. "readOnly" : false,
  8. "pwd" : "418b80a28664aeaeb1ec8bf792ea3052",
  9. "_id" : ObjectId("50fce98cc4553449b56c6e9f")
  10. }
  11. [root@server12 ~]#  /usr/local/mongodb/bin/mongo 192.168.1.113:3306
  12. > use local
  13. switched to db local
  14. > db.addUser('repl','replication')
  15. {
  16. "user" : "repl",
  17. "readOnly" : false,
  18. "pwd" : "418b80a28664aeaeb1ec8bf792ea3052",
  19. "_id" : ObjectId("50fce98cc4553449b56c6e9f")
  20. }

四:创建普通用户yang,master端创建即可

  1. > use admin
  2. switched to db admin
  3. > db.addUser('yang','123')
  4. > show users
  5. {
  6. "_id" : ObjectId("50fce0bd15861bedf081584a"),
  7. "user" : "yang",
  8. "readOnly" : false,
  9. "pwd" : "c26040a2869fb7579c83e85c54faaffa"
  10. }
  11. > db.system.users.find()
  12. { "_id" : ObjectId("50fce0bd15861bedf081584a"), "user" : "yang", "readOnly" : false, "pwd" : "c26040a2869fb7579c83e85c54faaffa" }

五:重启mongodb主从实例,以auth方式启动,用户登录测试

  1. [root@server11 ~]# /usr/local/mongodb/bin/mongod --bind_ip 192.168.1.112 --auth --port 3306 --dbpath /data/mongodb/db1/ --logpath /usr/local/mongodb/logs/server1.log
  2. --rest --master &
  3. [root@server12 ~]# /usr/local/mongodb/bin/mongod --bind_ip 192.168.1.113 --auth --port 3306 --dbpath /data/mongodb/db2/ --logpath /usr/local/mongodb/logs/server2.log
  4. --rest --slave --source 192.168.1.112:3306 &
  5. [root@server11 ~]# /usr/local/mongodb/bin/mongo 192.168.1.112:3306
  6. MongoDB shell version: 2.2.2
  7. connecting to: 192.168.1.112:3306/test
  8. > use admin
  9. switched to db admin
  10. > show users
  11. Mon Jan 21 14:42:47 uncaught exception: error: {
  12. "$err" : "unauthorized db:test ns:test.system.users lock type:1 client:192.168.1.112",
  13. "code" : 10057
  14. }
  15. > db.auth('yang','123')
  16. 1
  17. > show users
  18. {
  19. "_id" : ObjectId("50fce0bd15861bedf081584a"),
  20. "user" : "yang",
  21. "readOnly" : false,
  22. "pwd" : "c26040a2869fb7579c83e85c54faaffa"
  23. }

再次登录web界面需要输入用户名和密码!

五:使用配置文件管理mongodb

  1. [root@server11 ~]# cat /etc/mongodb.conf
  2. fork = true
  3. quiet = true
  4. bind_ip = 192.168.1.112
  5. port = 3306
  6. dbpath = /data/mongodb/db1
  7. logpath = /usr/local/mongodb/logs/server1.log
  8. logappend = true
  9. journal = true
  10. rest = true
  11. master= true
  12. auth = true
  13. [root@server11 ~]# /usr/local/mongodb/bin/mongod -f /etc/mongodb.conf
  14. all output going to: /usr/local/mongodb/logs/server1.log
  15. forked process: 5831
  16. child process started successfully, parent exiting
  17. [root@server11 ~]# netstat -ntpl |grep mongo
  18. tcp        0      0 192.168.1.112:3306          0.0.0.0:*                   LISTEN      5831/mongod
  19. tcp        0      0 192.168.1.112:4306          0.0.0.0:*                   LISTEN      5831/mongod
  20. [root@server12 ~]# cat /etc/mongodb.conf
  21. fork = true
  22. quiet = true
  23. bind_ip = 192.168.1.113
  24. port = 3306
  25. dbpath = /data/mongodb/db2
  26. logpath = /usr/local/mongodb/logs/server2.log
  27. logappend = true
  28. journal = true
  29. rest = true
  30. slave = true
  31. source = 192.168.1.112:3306
  32. auth = true
  33. [root@server12 ~]# /usr/local/mongodb/bin/mongod -f /etc/mongodb.conf
  34. all output going to: /usr/local/mongodb/logs/server2.log
  35. forked process: 3064
  36. child process started successfully, parent exiting
  37. [root@server11 ~]# /usr/local/mongodb/bin/mongod -f /etc/mongodb.conf  --shutdown
  38. [root@server12 ~]# /usr/local/mongodb/bin/mongod -f /etc/mongodb.conf  --shutdown

参考文章:http://docs.mongodb.org/manual/administration/master-slave/

本文转自斩月博客51CTO博客,原文链接http://blog.51cto.com/ylw6006/1123826如需转载请自行联系原作者

ylw6006

Mongodb主从配置相关推荐

  1. mongodb 主从配置,带auth验证模式

    2019独角兽企业重金招聘Python工程师标准>>> 一 简介说明 主从复制是mongodb最常用的复制方式,也是一个简单的数据库同步备份的集群技术,这种方式很灵活.可用于备份,故 ...

  2. 高可用mongodb集群的学习记录(二mongodb主从配置)

    二mongodb主从配置 在之前我们使用mysql数据库或者redis时大家广泛用到,采用双机备份后主节点挂掉了后从节点可以接替主机继续服务.所以这种模式比单节点的高可用性要好很多. 1.环境准备 实 ...

  3. MongoDB主从+php实现

    环境 172.16.115.202   primary 172.16.111.171   secondary 172.16.115.157   secondary 一.MongoDB安装 1. yum ...

  4. docker mysql.sock,Docker mysql主从配置

    Docker mysql主从配置 一:Mysql基于Docker的主从复制搭建 1:安装docker,安装步骤可见我之前的文章:Docker-常用基建的安装与部署 docker ps 命令查询当前的容 ...

  5. OpenShift 4 之 GitOps(6)用ArgoCD部署MongoDB主从集群

    <OpenShift 4.x HOL教程汇总> 文章目录 部署架构 部署MongoDB主从集群 准备操作环境 配置ArgoCD 准备MongoDB所需证书 更新被部署的YAML文件 在三个 ...

  6. Redis——学习之路四(初识主从配置)

    首先我们配置一台master服务器,两台slave服务器.master服务器配置就是默认配置 端口为6379,添加就一个密码CeshiPassword,然后启动master服务器. 两台slave服务 ...

  7. Redis数据库搭建主从同步(主从概念、主从配置、主从数据操作)

    1. 主从概念 ⼀个master可以拥有多个slave,⼀个slave⼜可以拥有多个slave,如此下去,形成了强⼤的多级服务器集群架构 master用来写数据,slave用来读数据,经统计:网站的读 ...

  8. 虚拟机CENTOS7下 安装8.0版本MySQL MySQL主从配置详细~

    全部代码,写在后面吧! 全部的代码在后面. 1.安装mysql 先rz命令上传一下!出现未响应是很正常的情况!等会就好啦. ls查看一下,已经出现啦~ xz -d mysql-8.0.13-linux ...

  9. mysql主从配置流程

    一.mysql主从配置原理 1.master将操作记录写到二进制日志中(binary log)中: 2.slave IO 线程将master的binary log events读写到它的中继日志(re ...

最新文章

  1. springcloud与dubbo对比:
  2. 应用MVP模式写出可维护的优美Android应用
  3. leetcode 5077. 按列翻转得到最大值等行数(Flip Columns For Maximum Number of Equal Rows)
  4. 485 九针头_张元英安宥真还是孩子,手臂还有疫苗接种痕迹,九针头太吓人
  5. 机械制图手册_机械制图基本知识大全!
  6. 查询oracle 数据库中回滚段中一个时间点被修改的表数据并还原表中原来数据
  7. 【QT】QT从零入门教程(十四):标准颜色对话框类QColorDialog
  8. linux怎么查看服务器主频,Linux环境下查看服务器硬件信息
  9. 小D课堂 - 零基础入门SpringBoot2.X到实战_第2节 SpringBoot接口Http协议开发实战_12、SpringBoot2.x文件上传实战...
  10. 61850客户端软件构建
  11. UCI机器学习库和一些相关算法
  12. Python三维绘图--Matplotlib
  13. h5唤起App两种方式 Schema Universal Link
  14. jmeter+PerfMon Metrics Collector监控(ServerAgent)
  15. framemaker中遍历及判断其属性是否存在
  16. PDF怎么转图片?快把这些方法收好
  17. 西安电子科技大学计算机复试题目,西安电子科技大学考研复试 微机原理练习题...
  18. 企业微信有权限查看通讯录吗?
  19. elementUI中el-table每行异常高度原因排查,累死
  20. Python之,评委打分。A~F六位参赛选手,去除最高与最低分之后的的评分为…

热门文章

  1. [PYTHON] xml.etree.ElementTree 实例
  2. Phpcms V9当前栏目及所有二级栏目下内容调用标签
  3. AngularJs学习
  4. Struts1.x系列教程(20):使用EventDispatchAction类处理一个form多个submit
  5. ISQL文件夹,目前唯一解决办法就是sa密码设置为复杂点的,开机密码设置成复杂点的。...
  6. 内存管理-定时器循环、内存布局、tagged pointer、weak指针、copy、自动释放池
  7. mac os 命令行下载
  8. numpy维度交换_15年!NumPy论文终出炉,还登上了Nature
  9. 西部数码虚拟主机服务器配置,西部数码虚拟主机设置首页功能介绍
  10. python依赖平台吗_Python学习之==有依赖关系的接口开发