mongoDB主从同步笔记

同步之前做个笔记

centos下yum方式安装最新版本的mongodb

vi /etc/yum.repos.d/10gen.repo,输入下面的语句:

[10gen]

name=10gen Repository

baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64

gpgcheck=0

查看最新版本信息:

yum info mongo-10gen-server

安装:

yum install mongo-10gen-server

升级:

yum update mongo-10gen mongo-10gen-server

启动:service mongod start


主从服务器各自安装好带连接认证的mongodb

use admin

db.addUser('sa','sa')

1.首先我们备份好数据库

备份数据库foo

mongodump -uroot -p -d foo -o /data/backup/database/

附带一个还原命令:

(mongorestore  -uroot -p -d foo –drop /data/backup/database/)

2.主从加同步认证账号:

主服务器和从服务器必须开启安全认证:–auth, 主服务器和从服务器的admin数据库中必须有全局用户, 然后主服务器的local数据库和从服务器的local数据均有名为repl且密码相同的用户名。

use local
db.addUser('repl','repl')

主服务器:
vi /etc/mongo.conf

master = true
source = 172.16.1.22,172.16.1.23(从库ip)

从服务器:

vi /etc/mongo.conf<
slave = true
source =172.16.1.11:27017

各自重启服务器:

3.查看数据是否全部同步过来了

附上:mongodb的备份脚本

#!/bin/sh

today=$(date +"%Y%m%d")

old7day=$(date -d "7 days ago" +"%Y%m%d")

cd /data/backup/database/

/usr/local/mongodb/bin/mongodump -uroot -ppassword -o /data/backup/database/

zip -rP 888888 /data/backup/database/xz_ad_db_${today}.zip foo

zip -rP 888888 /data/backup/database/admin_db_${today}.zip admin

rm -rf /data/backup/database/foo

rm -rf /data/backup/database/admin

发表评论