配置MongoDB 主从同步

主:命令行启动方式

/usr/local/mongodb/bin/mongod --bind_ip 192.168.137.12 --port 27017 --dbpath /data/mongodb/db1/ --logpath /data/mongodb/logs/m1.log --logappend --rest --master &

从:命令行启动方式

/usr/local/mongodb/bin/mongod --bind_ip 192.168.137.13 --port 27017 --dbpath /data/mongodb/db1/ --logpath /data/mongodb/logs/m1.log --logappend --rest --slave --source 192.168.137.12:27017 &

或者用配置文件方式启动

master配置文件

port = 27017
fork = true
dbpath = /data/mongodb/db1/
logpath = /data/mongodb/logs/m1.log
logappend = true
auth = true
bind_ip = 192.168.137.12
rest = true
master = true

slave配置文件

port = 27017
fork = true
dbpath = /data/mongodb/db1/
logpath = /data/mongodb/logs/m1.log
logappend = true
auth = true
bind_ip = 192.168.137.13
rest = true
slave = true
source = 192.168.137.12:27017

启动方式

/usr/local/mongodb/bin/mongod -f /etc/mongodb.conf

创建用户repl,主要用于后续的安全认证同步

master 和slave都要操作

>use local
switched to db local
> db.addUser('repl','123456')
{
                "user" : "repl",
                "readOnly" : false,
                "pwd" : "6a554a536c461b904f0cabea13dd6270",
                "_id" : ObjectId("51530379b6a41430e9ab5462")
}

连接测试数据同步情况
master操作

slave操作

同步配置成功

状态查询
1.db.runCommand({"isMaster":1})  查询是主还是从
2.在丛库上查询主库地址
 >use local
 >db.sources.find();
3. db.printCollectionStats(); 查看各Collection状态
4. db.printReplicationInfo();查看主从复制状态

状态切换,如果master宕机了用slave来顶替master服务
1.停止从库
2.删除从库数据目录下的local.* jourabl文件夹
3.以master方式启动从库

附:各启动参数的说明停止从库
   
参数解释: --dbpath 数据库路径(数据文件)
--logpath 日志文件路径
--master 指定为主机器
--slave 指定为从机器
--source 指定主机器的IP地址
--pologSize 命令行参数(与--master一同使用)配置用于存储给从节点可用的更新信息占用的磁盘空间(M为单位),如果不指定这个参数

,默认大小为当前可用磁盘空间的5%(64位机器最小值为1G,32位机器为50M)。
--logappend 日志文件末尾添加
--port 启用端口号
--fork 在后台运行
--only 指定只复制哪一个数据库
--slavedelay 指从复制检测的时间间隔
--auth 是否需要验证权限登录(用户名和密码)
-h [ --help ]             show this usage information
--version                 show version information
-f [ --config ] arg       configuration file specifying additional options
--port arg                specify port number
--bind_ip arg             local ip address to bind listener - all local ips
                           bound by default
-v [ --verbose ]          be more verbose (include multiple times for more
                           verbosity e.g. -vvvvv)
--dbpath arg (=/data/db/) directory for datafiles    指定数据存放目录
--quiet                   quieter output   静默模式
--logpath arg             file to send all output to instead of stdout   指定日志存放目录
--logappend               appnd to logpath instead of over-writing 指定日志是以追加还是以覆盖的方式写入日志文件
--fork                    fork server process   以创建子进程的方式运行
--cpu                     periodically show cpu and iowait utilization 周期性的显示cpu和io的使用情况
--noauth                  run without security 无认证模式运行
--auth                    run with security 认证模式运行
--objcheck                inspect client data for validity on receipt 检查客户端输入数据的有效性检查
--quota                   enable db quota management   开始数据库配额的管理
--quotaFiles arg          number of files allower per db, requires --quota 规定每个数据库允许的文件数
--appsrvpath arg          root directory for the babble app server
--nocursors               diagnostic/debugging option 调试诊断选项
--nohints                 ignore query hints 忽略查询命中率
--nohttpinterface         disable http interface 关闭http接口,默认是28017
--noscripting             disable scripting engine 关闭脚本引擎
--noprealloc              disable data file preallocation 关闭数据库文件大小预分配
--smallfiles              use a smaller default file size 使用较小的默认文件大小
--nssize arg (=16)        .ns file size (in MB) for new databases 新数据库ns文件的默认大小
--diaglog arg             0=off 1=W 2=R 3=both 7=W+some reads 提供的方式,是只读,只写,还是读写都行,还是主要写+部分的读模


--sysinfo                 print some diagnostic system information 打印系统诊断信息
--upgrade                 upgrade db if needed 如果需要就更新数据库
--repair                  run repair on all dbs 修复所有的数据库
--notablescan             do not allow table scans 不运行表扫描
--syncdelay arg (=60)     seconds between disk syncs (0 for never) 系统同步刷新磁盘的时间,默认是60s
Replication options:
--master              master mode 主复制模式
--slave               slave mode 从复制模式
--source arg          when slave: specify master as <server:port> 当为从时,指定主的地址和端口
--only arg            when slave: specify a single database to replicate 当为从时,指定需要从主复制的单一库
--pairwith arg        address of server to pair with
--arbiter arg         address of arbiter server 仲裁服务器,在主主中和pair中用到
--autoresync          automatically resync if slave data is stale 自动同步从的数据
--oplogSize arg       size limit (in MB) for op log 指定操作日志的大小
--opIdMem arg         size limit (in bytes) for in memory storage of op ids指定存储操作日志的内存大小
Sharding options:
--configsvr           declare this is a config db of a cluster 指定shard中的配置服务器
--shardsvr            declare this is a shard db of a cluster 指定shard服务器

转载于:https://blog.51cto.com/qq15570453/1163475

MongoDB配置主从同步(二)相关推荐

  1. mysql 8.0配置主从同步_MySQL8.0.19开启GTID主从同步CentOS8

    前言本次搭建目标为1主2从MySQL主从同步结构.采用CentOS8作为操作系统,IP为[10.0.0.211,10.0.0.212,10.0.0.213].MySQL版本为8.0.19,端口均采用3 ...

  2. mysql 8.0配置主从同步_MySQL 8.0 主从同步

    一.简介 一台服务器充当主数据库服务器,另一台或多台服务器充当从数据库服务器,主服务器中的数据自动复制到从服务器之中.MySQL主从复制的基础是主服务器对数据库修改记录二进制日志,从服务器通过主服务器 ...

  3. postgresql学习配置主从同步和自动备份

    最近刚接手一个维护项目,一个生产环境出了故障,所有数据都损毁了.数据第一啊,原先在做方案的时候厂家已经建议客户做冗余什么的,但是始终因为资金的原因没有落实,但也得想办法提高数据安全性开拔,优先保存数据 ...

  4. mysql设置数据库同步_MySQL数据库配置主从同步

    1.环境说明:DB master: 172.16.1.55 DB slave:172.16.1.56 2.Server-id 配置(/etc/my.cnf): 主库配置server-id要比从库的ID ...

  5. MySQL配置主从同步过程记录

    今天由于工作需要,配置了一下主从同步,这里记录一下配置过程,以备查阅. 事先度娘了一番,主从同步需要保证主从服务器MySQL版本一致(我的略有差别,主服务器版本5.5.31,从服务器版本5.5.19) ...

  6. Mysql服务器线上配置主从同步

    我们一般在线上搭建MYSQL都会部署一套主从同步方案: 当master(主)库的数据发生变化的时候,变化会实时的同步到slave(从)库. 主从复制的过程: Mysql同步过程的第一部分就是maste ...

  7. mysql配置主从同步及遇到的问题

    首先安装mysql,然后复制mysql下所有的文件及data到另一个目录下,最后修改配置,参考下面流程配置: 1.主库my.ini: [client] port=3306 [mysql] defaul ...

  8. mysql 5.5主从同步_MySQL5.5+配置主从同步并结合ThinkPHP5设置分布式数据库

    This browser does not support music or audio playback. Please play it in WeChat or another browser. ...

  9. tp5支持mysql5.5吗_MySQL5.5+配置主从同步并结合ThinkPHP5设置分布式数据库

    前言: 本文章是在同处局域网内的两台windows电脑,且MySQL是5.5以上版本下进行的一主多从同步配置,并且使用的是集成环境工具PHPStudy为例.最后就是ThinkPHP5的分布式的连接,读 ...

最新文章

  1. Python 技术点
  2. Linux下ssh登录速度慢的解决办法
  3. Sales Order 中的User Exit开发
  4. Divan and Kostomuksha (easy version) dp,gcd(2100)
  5. 在场景中添加光线——给光线添加更高的细节:逐像素光照
  6. 337. 打家劫舍 III(JavaScript)
  7. qt 子窗口写到线程就卡死_Qt多线程创建
  8. 静态tableview组背景色的更改及自定义cell的两种方式
  9. bzoj 3393 bzoj 1644: [Usaco2007 Oct]Obstacle Course 障碍训练课(BFS)
  10. windows下gethostbyname 调用失败
  11. 吴恩达机器学习课程资源(笔记、中英文字幕视频、课后作业,提供百度云镜像!)
  12. Oracle官方文档及个人书签地址
  13. python cnn 实例_Python实现CNN的多通道输入实例
  14. 查看显卡型号命令_如何查看电脑显卡型号配置 快速查看显卡配置信息方法
  15. 2021安徽安全员C证考试多选练习题库
  16. rust键位失灵_switch手柄按键失灵不响应怎么办 NS手柄按键没反应解决办法
  17. Django中F对象,Q对象与运算符
  18. opencv 处理黑夜_Python基于OpenCV的固定位置半透明水印去除两种方案
  19. 基于Epoll的Reactor模式
  20. 《涨知识啦24》---JBS or MPS?

热门文章

  1. mysql关键字test_MySQL关键字Distinct的详细介绍
  2. MIT研制出空陆自动切换型无人机技术,构想多年的“飞行车”或将实
  3. 使用Spring Boot构建独立的OAuth服务器(三)
  4. scheme中文编程
  5. I.MX6 MAC地址修改
  6. Windows 动态链接库
  7. sql 统计节点和子节点下面的数量_一次900万+数据量的 SQL 查询优化分析「上百倍性能优化」...
  8. k8s pod之间不能通信_Kubernetes的工作由两个pod组成(必须在不同的节点上运行并相互通信)...
  9. electron 改变窗体 大小_「Science子刊」约翰·霍普金斯大学创造灰尘大小设备,可协助药物在胃肠道停留24小时之久...
  10. cs客户端 实时权限_【CS学习笔记】7、SMBbean的作用