mongodb 主从复制配置
主从复制也是挺常见数据备份了。
可以配置一主一从,或一主多从。明确一点就是只有一个主,我这里演示一主多从
一、环境
3台主机:(当然你在一台机器上启动多个服务端也是可以的)
- 主 ip: 192.168.12.132
- 从 ip: 192.168.12.133
- 从 ip: 192.168.12.134
二、配置
准备工作:
(a)、创建mongodb 的数据存储目录
(b)、创建mongodb 的log目录
(c)、创建mongodb 的配置文件目录
1 2 3
| mkdir -p /usr/local/mongodb/data mkdir -p /usr/local/mongodb/logs mkdir -p /usr/local/mongodb/conf
|
上面的命令3台都要执行
1、在(主)192.168.12.132 创建配置文件,vim /usr/local/mongodb/conf/22222.cnf
添加如下内容:
1 2 3 4 5 6 7 8 9 10 11
| port=22222 # mongodb 数据存储位置 dbpath=/usr/local/mongodb/data # log 生成位置 logpath=/usr/local/mongodb/logs/mongo.log fork=true # auth=true # 这是绑定主机ip bind_ip=192.168.12.132 # master 来确定哪个是主 master=true
|
2、在(从)192.168.12.133 创建配置文件,vim /usr/local/mongodb/conf/33333.cnf
添加如下内容:
1 2 3 4 5 6 7 8 9 10
| port=33333 fork=true dbpath=/usr/local/mongodb/data logpath=/usr/local/mongodb/logs/33333.log bind_ip=192.168.12.133 # 来指定 主 的数据来源 source=192.168.12.132:22222 # slave 来确定是从 slave=true
|
###3、在(从)192.168.12.134 创建配置文件,vim /usr/local/mongodb/conf/44444.cnf
添加如下内容:
1 2 3 4 5 6 7 8 9
| port=44444 fork=true dbpath=/usr/local/mongodb/data logpath=/usr/local/mongodb/logs/44444.log bind_ip=192.168.12.134 # 来指定 主 的数据来源 source=192.168.12.132:22222 # slave 来确定是从 slave=true
|
小结: 由master 来确定主服务器,slave 与source 来确定从服务器
三、启动
我已经配置好了环境变量
1 2 3 4 5 6 7 8
| # 在主192.168.12.132服务器上运行 mongod -f /usr/local/mongodb/conf/22222.conf
# 在从192.168.12.133服务器上运行 mongod -f /usr/local/mongodb/conf/33333.conf
# 在从192.168.12.134服务器上运行 mongod -f /usr/local/mongodb/conf/33333.conf
|
四、连接
1 2 3 4 5
| # 连接主服务器 mongo 192.168.12.132:22222
# 测试 是否是主 rs.isMaster()
|
在主中插入数据,从也是可以找到的。就ok了