数据库

 首页 > 数据库 > MongoDB > MongoDB数据库主从复制配置过程详解

MongoDB数据库主从复制配置过程详解

分享到:
【字体:
导读:
         摘要:我研究过的nosql,memcache,redis,mongodb都是支持分布式的,生产环境中用过memcache,redis,性能稳定。mongodb是最接近关系型数据库的,不用花很多时间去构建数据库模型,将来我会用mongodb,看一下主从配置一,mongodb主从服务器192.168.1.5mongodb主服...

MongoDB数据库主从复制配置过程详解

我研究过的nosql,memcache,redis,mongodb都是支持分布式的,生产环境中用过memcache,redis,性能稳定。mongodb是最接近关系型数据库的,不用花很多时间去构建数据库模型,将来我会用mongodb,看一下主从配置

一,mongodb主从服务器

192.168.1.5            mongodb主服务器

192.168.1.108         mongodb从服务器

二,mongodb主从服务器安装

[root@localhost ~]# yum install php-pecl-mongo mongodb mongodb-devel mongodb-server

三,主从服务器配置

1,主服务器192.168.1.5 配置

[root@localhost ~]# cat /etc/mongodb.conf |awk '{if($0 !~ /^$/ && $0 !~ /^#/) {print $0}}'
logpath=/var/log/mongodb/mongodb.log
fork = true
logappend=true
dbpath=/var/lib/mongodb
pidfilepath=/var/run/mongodb/mongodb.pid
master = true
source = 192.168.1.108

创建数据库目录

[root@localhost lib]# mkdir -p /var/lib/mongodb
[root@localhost lib]# chown mongodb:mongodb -R /var/lib/mongodb/

2,从服务器192.168.1.108配置

[root@localhost ~]# cat /etc/mongodb.conf |awk '{if($0 !~ /^$/ && $0 !~ /^#/) {print $0}}'
logpath=/var/log/mongodb/mongodb.log
logappend=true
fork = true
port = 27017
dbpath=/var/lib/mongodb
pidfilepath=/var/run/mongodb/mongodb.pid
slave = true
source = 192.168.1.5

创建数据库目录

[root@localhost lib]# mkdir -p /var/lib/mongodb
[root@localhost lib]# chown mongodb:mongodb -R /var/lib/mongodb/

原始配置里有一个only,可以用来有选择性同步数据,only=test,表示只同步test数据库

3,启动主从服务器mongodb

[root@localhost www]# /etc/init.d/mongod start

四,测试同步

主服务器192.168.1.5

$m = new Mongo();
$db = new MongoDB($m, 'mydbname');
$log = $db->createCollection("logger", true, 10*1024, 10);
for ($i = 0; $i < 5; $i++) {
 $log->insert(array("level" => WARN, "msg" => "张映 log message #$i", "ts" => new MongoDate()));
}
$msgs = $log->find();
foreach ($msgs as $msg) {
 echo $msg['msg']."
";
}
$dbs = $m->listDBs();
print_r($dbs);
?>

从服务器192.168.1.108

$m = new Mongo();
$db = new MongoDB($m, 'mydbname');
$log = $db->createCollection("logger", true, 10*1024, 10);
$msgs = $log->find();
foreach ($msgs as $msg) {
 echo $msg['msg']."
";
}
$dbs = $m->listDBs();
print_r($dbs);
?>

如果显示出来的内容是一样的,说明同步成功了,我们也可以通过别的方式来查看同步是否成功。

查看数据库的路径下面的文件是不是一样,大小是不是一样。

[root@localhost www]# ll /var/lib/mongodb/

如果都一样就说明同步成功了。

我们还可以查看log日志来查看同步是否成功。

mongodb 主从同步成功 日志

mongodb 主从同步成功 日志

MongoDB数据库主从复制配置过程详解
分享到:
MongoDB服务的启动与关闭
MongoDB服务的启动与关闭 Mongodb的开启 默认启动: $ ./mongodb 默认数据保存路径:/data/db/ 默认端口:27017 修改默认路径: --dbpath $ ./mongdb --dbpath /mongodb/ 把数据存储位置指向一个自己的目录/mongodb/ 修改默认端口: --port $ ./mongdb --port 20111 把服务端口修改为20...
MongoDB数据库服务器以及相关PHP扩展的安...
MongoDB数据库服务器以及相关PHP扩展的安装方法 刚接触mongoDB,一切从零开始。搞了一下午,搞定了安装,整理一下。 一.mongoDB的安装 我是在Linux下进行安装的,步骤如下: 1. 下载安装包 一定要注意自己的机器是32位还是64位,不然下来的包无法使用。我开始就是下错了包,安装后一执行就提示Floating poin...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……