Linux 下搭建主从备份mongo数据库

环境:Linux

mongo版本:3.6.x

主服务器:192.168.7.1

从服务器:192.168.7.2

mongodb安装路径: /opt/mongodb

步骤:

主服务器(192.168.7.1):

1.创建数据库

首先在主服务器上正常创建数据库,并为数据库创建密码(安全考虑,因为主从备份的时候,mongo数据库是需要支持外网访问的,如果未设置密码,你的数据库就是在网络上裸奔了)。创建的大概过程就是,先不用鉴权启动数据库,登录进去,为admin数据库创建管理账号:

db.createUser({user: "admin",pwd: "adminPwd",roles: [{ role: "userAdminAnyDatabase", db: "admin" }]})

然后创建自己的数据库(假设为testdb)

use testdb;

db.createUser({user: "test",pwd: "testdbpwd",roles: [{ role: "readWrite", db: "testdb" }]})

好了,主服务器上数据库已建好。要实现主从备份,我们需要生成一个key.该key就相当于一个凭证。主服务器上启动的时候设置需要该凭证,从服务器上需要携带该凭证才能从主服务器上备份数据。

2.生成key

cd /opt/mongdb

openssl rand -base64 512 mongodb.key (key的范围是0-1024),如果key值过大,则无法启动

同时需要限制key的权限,chmod 400 mongodb.key.

3.编辑配置文件

vi mongod.conf

port = 2217  #mongo 数据库的端口

logpath = /opt/mongodb/logs/mongodb.log  #日志路径。

#pidfilepath=/var/run/mongodb/mongodb.pid

dbpath=/data/db  

master = true          #确定我是主服务器

source = 192.168.7.1 #主服务器的ip地址,从服务器需要连接该source

bind_ip = 127.0.0.1,192.168.7.1  #mongo数据库绑定的ip。此处即表示支持本地及外网ip访问

#fork = true

logappend = true

auth = true  #表示开启鉴权

keyFile = /opt/mongodb/mongodb.key  #指定key文件路径

4.启动mongo:

nohup mongod --config /opt/mongodb/mongodb.conf &

可在 /opt/mongodb/logs/mongodb.log 查看启动日志。

ps:

1.日志目录需要提前创建好:mkdir /opt/mongodb/logs(可自行定义)

2.数据存放目录需要创建好 mkdir /data/db (可自行定义)

至此,主服务器配置启动完成。

从服务器(192.168.7.2):

将主服务器上的mongodb.key 下载过来。

创建数据存放目录:

mkdir /data/db 

编辑配置文件:

vi /opt/mongdb/mongdb.conf

port = 2217    #端口号

logpath = /opt/mongodb/logs/mongodb.log  #日志位置

#pidfilepath=/var/run/mongodb/mongodb.pid        #PID 位置

dbpath=/data/db                            #数据存放位置

slave = true                                    #模式 确定我是从服务器

source = 192.168.7.1:2217                        #规定从属于哪个ip  注意:ip是主服务器的

#fork = true                                    #设置后台运行

logappend = true                                #日志输出格式

#auth = true                                    #开启认证

keyFile = /opt/mongodb/mongodb.key  #指定key.该key与主服务器的key一致。

syncdelay = 60

启动从服务器上的mongo

nohup mongod --config /opt/mongodb/mongdb.conf

从服务器上mongo启动,就会主动从主服务器上备份数据了。

你可能感兴趣的:(Linux 下搭建主从备份mongo数据库)