mongdb 主从搭建

mongo主从     副本集

一,mongo 主从

mongo的主从配置

1,主从同步原理,从库通过去读取主库的oplog来实现数据的同步

弊端:  主从不能自动切换(副本集可以)

环境:(在一个服务器上启用多个mongo进程,监听在不同端口,也可以实现)

master  :192.168.78.130

slave    : 192.168.78.131

步骤一:

在master 130上,启用mongod :

[[email protected] bin]# ./mongod --dbpath=/root/data --logpath=/root/data/mongo.log --logappend --fork --port=10001  --master

forked process: 6488

all output going to: /root/data/mongo.log

child process started successfully, parent exiting

这里主要是一个--master参数,告诉mongo 自己此时是master

步骤二:

在slave 131 上,启用mongod

[[email protected] bin]# ./mongod --dbpath=/root/data --logpath=/root/data/mongo.log --logappend --fork --port=10002 --slave  --source 192.168.78.130:10001

forked process: 5440

all output going to: /root/data/mongo.log

child process started successfully, parent exiting

这里--slave指定本机为slave   通过--source  指向master服务器 130:10001

搭建成功

测试:

在master 130上插入数据

登陆   --host指定登陆服务器ip地址,--port指定端口

[[email protected] bin]# ./mongo --host 192.168.78.130 --port 10001

MongoDB shell version: 2.2.2

connecting to: 192.168.78.130:10001/test

Welcome to the MongoDB shell.

For interactive help, type "help".

For more comprehensive documentation, see

http://docs.mongodb.org/

Questions? Try the support group

http://groups.google.com/group/mongodb-user

> show dbs

local   0.078125GB

> use pincer

switched to db pincer

> db.pincer.insert({"test":111})

> show collections

pincer

system.indexes

> db.pincer.find()

{ "_id" : ObjectId("52100534f11fdb125391724e"), "test" : 111 }

master上已经在pincer库中的pincer集合中插入了test:111

到131 slave上去查看

> show dbs

local   0.078125GB

pincer  0.0625GB

> use pincer

switched to db pincer

> show collections

pincer

system.indexes

> db.pincer.find()

{ "_id" : ObjectId("52100534f11fdb125391724e"), "test" : 111 }

可以看到数据已经同步了

在master(或slave)上查看

> db.printReplicationInfo()

configured oplog size:   47.6837158203125MB

log length start to end: 97secs (0.03hrs)

oplog first event time:  Thu Aug 08 2013 09:06:22 GMT+0800 (CST)

oplog last event time:   Thu Aug 08 2013 09:07:59 GMT+0800 (CST)

now:                     Thu Aug 08 2013 09:27:59 GMT+0800 (CST)

这里的oplog  47M  就是指oplog的日志大小(如果从去同步主时,因为之前主的数据太大了,那么要设置大点oplog,--oplogSize)

查看主从信息

在master上

> use local

switched to db local

> db.slaves.find()

{ "_id" : ObjectId("5202f30721f1c7b358a9c53f"), "host" : "192.168.78.131", "ns" : "local.oplog.$main", "syncedTo" : Timestamp(1376782169000, 1) }

可以看到这里的从是131

在slave上

> db.slaves.find()

{ "_id" : ObjectId("5202ef26b15304f923e5b3ce"), "host" : "192.168.78.131", "ns" : "local.oplog.rs", "syncedTo" : Timestamp(1375924079000, 1) }

> db.sources.find()

{ "host" : "192.168.78.130:10001", "source" : "main", "syncedTo" : Timestamp(1376782899000, 1) }

从集合sources中可以看到,master是130

从集合slaves中可以看懂,slave是131

时间: 2024-10-03 10:16:59

mongdb 主从搭建的相关文章

Centos6.7 Redis3.2.8的主从搭建

首先参看一下redis 3.2.8的安装 传送门:biubiubiu 飞去吧:http://www.cnblogs.com/bing-yu12/p/6582086.html 我的主从搭建: redis 主环境: centos 6.7 ip:192.168.184.3 redis 3.2.8 redis.conf的重要配置: bind 127.0.0.1选项后面加上192.168.184.3 让外部机器也可以访问该ip iptables规则清除 selinux关闭:setenforce 0 或者v

DNS主从搭建之解析

一.DNS定义 DNS是域名系统的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务. DNS命名用于TCP/IP网络中,通过用户友好的名称查找计算机和服务.当用户在应用程序中输入DNS名称时,DNS服务可以将此名称解析为与之相应的IP地址.监听于TCP/53端口.UDP/53端口. 二.DNS域名命名空间 DNS域名命名空间是具有层次行的,一般可分为根域.顶级域.二级域.子域以及主机名, 如图: 三.DNS服务器类型    1.主DNS 服务器 当DNS服务器管理主要区域时,它被称为主D

简单的mysql主从搭建及恢复

mysql主从搭建: 怎么安装mysql数据库,这里不讲,只说它的主从复制,步骤如下: 1.主从服务器分别作以下操作:  1.1.版本一致  1.2.初始化表,并在后台启动mysql  1.3.修改root的密码 2.修改主服务器master:   #vi /etc/my.cnf       [mysqld]       log-bin=mysql-bin   //[必须]启用二进制日志       server-id=1       //[必须]服务器唯一ID 3.修改从服务器slave:  

Mysql 主从搭建

Mysql  主从搭建 操作系统: [[email protected] ~]# cat /etc/redhat-release CentOS release 6.8 (Final) Master(主):192.168.137.32 Slave (从) :192.168.137.33 第一步:在CentOS6.x下安装MySQL数据库 这里我直接用脚本安装mysql5.7的 vim auto_install_mysql.sh #!/bin/bash yum install  -y  wget w

Centos 7.1 Bind主从搭建

Centos 7.1  Bind主从搭建 ########################################################################## 概览 DNS简单描述 1.环境准备 2.配置主DNS服务器 2.1. 主要配置文件 2.2. 配置/etc/named.conf 2.3. 配置/etc/named.rfc1912.zones 2.4. 配置/var/named/数据库文件 2.5 启动服务以及测试 3. 配置从dns服务器 3.1. 主D

mysql主从搭建详细步骤

一 .系统环境:Centos 6.5 MySQL版本:mysql-5.5.25a Master:192.168.4.9 Slave :192.168.4.10 二.主从配置需要注意的点 主从服务器操作系统版本尽量保持一致 Master和Slave版本要一致 Slave导入的Master备份数据要完整 Master开启了二进制日志 Slave开启了中继日志 Master和Slave  server_id值,唯一 三.主从配置步骤 Master配置 查看server-id是否唯一 建立主从授权用户

xtrabackup 在线主从搭建

因为意外导致某个MySQL的从服务器宕机,且不可修复,因为是业务数据库,不能停机和锁表进行从库的搭建,所以考虑了使用xtrabackup 进行在线主从搭建. 一.数据库环境 数据库 数据库版本 外网IP 内网IP 同步用户 备份目录 主库 MYSQL-5.6.7 211.147.1.202 192.168.0.123 rep 从库 MYSQL-5.6.7 211.147.1.202 192.168.0.13 二.准备安装包 percona-xtrabackup-2.1.9-744-Linux-x

数据库主从搭建

数据库主从搭建 为什么要搭建数据库主从,因为一个项目一般都是读的操作比写的操作多很多,所以搭建主从,实现读写分离,减轻数据库压力. 2.1 主从同步原理 mysql主从配置的流程大体如图: 1)master会将变动记录到二进制日志里面: 2)master有一个I/O线程将二进制日志发送到slave; 3) slave有一个I/O线程把master发送的二进制写入到relay日志里面: 4)slave有一个SQL线程,按照relay日志处理slave的数据: 2.2 注意点 1 咱们用docker

docker部署django项目、mysql主从搭建、django实现读写分离

目录 docker部署django项目 1.1 基于python基础镜像 将本地django项目打包并发到远程服务器上 将服务器上的.zip django项目解压 部署的具体流程 1.2 基于dockerfile 2 mysql主从搭建 3 django实现读写分离 我们使用python镜像源构建的出的容器,是一个纯净的debian系统下的python环境,在容器内部要想安装vim.nginx等,就不能使用yum install ...了,需要使用apt-get源.首先更新apt-get源,使用