• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

MongoDB主从复制

mysql 搞代码 4年前 (2022-01-09) 28次浏览 已收录 0个评论

在生产环境中单台数据库已不能满足业务需求,数据库主从复制在架构中使用很常见,用于备份、高可用、读写分离来提高数据处理性能和冗余,常用架构模式是一主一从

[root@localhost ~]# mkdir /usr/local/mongodb/data[root@localhost ~]# mkdir /usr/local/mongodb/logs[root@localhost ~]# mkdir /usr/local/mongodb/conf[root@localhost ~]# vi /usr/local/mongodb/conf/mongod.confport=27017#端口号fork=true#以守护进程方式运行logpath=/usr/local/mongodb/logs/mongodb.log #日志文件logappend=true #日志输出方式dbpath=/usr/local/mongodb/data #数据库位置maxConns=1024 #数据库最大连接数master=true#主模式oplogSize=2048 #日志滚动,单位M

2、从Mongodb配置

[root@localhost ~]# mkdir /usr/local/mongodb/data[root@localhost ~]# mkdir /usr/local/mongodb/logs[root@localhost ~]# mkdir /usr/local/mongodb/conf[root@localhost ~]# vi /usr/local/mongodb/conf/mongod.confport=27017fork=truelogpath=/usr/local/mongodb/logs/mongodb.loglogappend=truedbpath=/usr/local/mongodb/datamaxConns=1024slave=true#从模式source=192.168.0.201:27017 #指定主Mongodbautoresync=true#自动同步

3、添加环境变量并启动Mongodb

[root@localhost ~]# echo “PATH=$PATH:/usr/local/mongodb/bin” >> /etc/profile[root@localhost ~]# source /etc/profile[root@localhost ~]# mongod -f /usr/local/mongodb/conf/mongod.conf #启动[root@localhost ~]# netstat -tupln | grep mongodtcp0 0 0.0.0.0:28017 0.0.0.0:*LISTEN1923/mongod tcp0 0 0.0.0.0:27017 0.0.0.0:*LISTEN1923/mongod[root@localhost ~]# mongoMongoDB shell version:2.4.9-rc0> use test> db.test.save({AGE:18})> db.test.find(){ “_id” :ObjectId(“52addd66124c02eb8b2d1a5a”), “AGE” : 18 }> show dbslocal 2.0771484375GBtest 0.203125GB>

主日志

从日志

创建数据库后,由上主从日志看出,主允许从连接,从同步主数据(appl来&源gao@dai!ma.com搞$代^码%网ied 1 operations)。主数据库操作记录为OpLog日志,,说明主从数据库原理是定期从主服务器中获取oplog记录,然后在本机上执行。

5、查看主从复制状态

#查看主

[root@localhost ~]# mongoMongoDB shell version:2.4.9-rc0connecting to: test>db.printReplicationInfo()configured oplog size: 2048MBlog length start to end:1494secs (0.42hrs)oplog first event time: Sun Dec 15 2013 10:55:37 GMT-0500 (EST)oplog last event time: Sun Dec 15 2013 11:20:31 GMT-0500 (EST)now:Sun Dec 15 2013 11:20:33GMT-0500 (EST)>

#查看从

[root@localhost ~]# mongoMongoDB shell version: 2.4.9-rc0connecting to: test>db.printReplicationInfo()this is a slave, printingslave replication info.source: 192.168.0.201:27017syncedTo: Sun Dec 15 2013 11:18:31GMT-0500 (EST)= 21 secs ago (0.01hrs)>

#关闭Mongodb数据库

[root@localhost ~]# mongod -f/usr/local/mongodb/conf/mongod.conf –shutdown

#写一个简单的SysV管理脚本

[root@localhost ~]# vim /etc/init.d/mongod#!/bin/bash#chkconfig: 35 80 20#description: Mongodb service control scriptPROG=”/usr/local/mongodb/bin/mongod”CONF=”/usr/local/mongodb/conf/mongod.conf”case $1 instart)$PROG -f $CONF &> /dev/nullecho “Starting mongodb:[ OK ]”;;stop)$PROG -f $CONF –shutdown &> /dev/nullecho “Shutting down mongodb:[ OK ]”;;restart)$0 stop$0 start;;*)echo “Usage: $0 {start|stop|restart}”esac[root@localhost ~]# chmod +x /etc/init.d/mongod[root@localhost ~]# chkconfig –add mongod[root@localhost ~]# chkconfig mongod on

Mongdb主从复制就完事了,比Myslq简单吧,比较灵活。

本文出自 ““企鹅”那点事儿” 博客,请务必保留此出处


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:MongoDB主从复制

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址