search
HomeDatabaseMysql Tutorial mongodb主从复制小结
mongodb主从复制小结Jun 07, 2016 pm 05:26 PM
mongodbmaster-slave replication

在生产环境中单台数据库一般不能满足业务稳定性的需求,所以数据库主从复制架构在生产环境中很常见,用于主从复制也是Mongodb最常用的一种架构方式。这种方式非

   在生产环境中单台数据库一般不能满足业务稳定性的需求,所以数据库主从复制架构在生产环境中很常见,用于主从复制也是Mongodb最常用的一种架构方式。这种方式非常灵活,可用于备份、故障恢复、读扩展等,从而提高数据处理性能和冗余,常用架构模式是一主一从、一主多从、双主。今天我们主要对MONGODB的主从架构做一小结。


环境说明:

系统:CentOS6.4_x64

主(Master):192.168.2.2

从(Slave):192.168.2.3


一、安装与基础配置

#cd /usr/local

#tar -zxvf  mongodb-linux-x86_64-2.2.6.tgz

#mv  mongodb-linux-x86_64-2.2.6.tgz mongodb


mongodb配置文件在  /usr/local/mongodb/conf

主从数据库目录都在 /usr/local/mongodb/data

日志目录都在       /usr/local/mongodb/logs


#mkdir -p /usr/local/mongodb/conf

#mkdir -p /usr/local/mongodb/data

#mkdir -p /usr/local/mongodb/logs


二、一主一从配置

关键点:

1)、在数据库集群中要明确的知道谁是主服务器,主服务器只有一台。

2)、从服务器需要知道自己的数据源,也就是对于自己来说主服务器是谁。

3)、master用来确定主服务器,slave来控制从服务器, source确定从服务的数据源。

192.168.2.2  主

conf下新建一文件mongodb.conf

添加如下:

port=27017      

fork=true      

logpath=/usr/local/mongodb/logs/mongodb.log  

logappend=true  

dbpath=/usr/local/mongodb/data  

maxConns=1024    

master=true      

oplogSize=2048


192.168.2.3  从

port=27017      

fork=true      

logpath=/usr/local/mongodb/logs/mongodb.log  

logappend=true  

dbpath=/usr/local/mongodb/data  

maxConns=1024    

slave=true                

source=192.168.2.2:27017  

autoresync=true    


三、启动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

先启主再启从

观察一下主的日志mongodb.log


五、思考与补充:

1、如何指定要同步的库

默认是同步所有的库,如果需要指定只同步某个库,可以在从库的配置文件中进行指定

方法:only=test  

意思就是只同步TEST库

2、从库上还可设置的其他参数


slavedelay  从节点设置主数据库同步数据的延迟(单位是秒)

fastsync    从节点以主数据库的节点快照为节点启动从数据库

autoresync  如果不同步则自动从新同步数据库

3、从服务器上查看同步状态

>db.printReplicationInfo()

this is a slave, printing slave replication info.

source:   192.168.2.2:27017

syncedTo: Thu Apr 17 2014 01:38:02 GMT-0700 (PDT)

= 10 secs ago (0.04hrs)

4、备份与恢复

任何数据库都需要备份与恢复,这个你懂的。

备份:

>mongodump -h dbhost -d dbname -o dbdirectory

-h:MongDB所在服务器地址,例如:192.168.2.2,当然也可以指定端口号:192.168.2.2:27017

-d:需要备份的数据库实例,例如:test

-o:备份的数据存放位置,例如:/data/dump,当然该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个test目录,这个目录里面存放该数据库实例的备份数据。


恢复:

>mongorestore -h dbhost -d dbname --directoryperdb dbdirectory

-h:MongoDB所在服务器地址

-d:需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2

--directoryperdb:备份数据所在位置,例如:/data/dump/test,这里为什么要多加一个test,而不是备份时候的dump,自己查看提示吧!

--drop:恢复的时候,先删除当前数据,,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,谨慎使用!

5、监控

可以使用mongodb自带28017端口进行图形化监控

wKioL1NPlZHgKibdAAJAnTPNoNw564.jpg



本文出自 “滴水穿石孙杰” 博客,请务必保留此出处

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
mongodb php 扩展没有怎么办mongodb php 扩展没有怎么办Nov 06, 2022 am 09:10 AM

mongodb php扩展没有的解决办法:1、在linux中执行“$ sudo pecl install mongo”命令来安装MongoDB的PHP扩展驱动;2、在window中,下载php mongodb驱动二进制包,然后在“php.ini”文件中配置“extension=php_mongo.dll”即可。

Redis和MongoDB的区别与使用场景Redis和MongoDB的区别与使用场景May 11, 2023 am 08:22 AM

Redis和MongoDB都是流行的开源NoSQL数据库,但它们的设计理念和使用场景有所不同。本文将重点介绍Redis和MongoDB的区别和使用场景。Redis和MongoDB简介Redis是一个高性能的数据存储系统,常被用作缓存和消息中间件。Redis以内存为主要存储介质,但它也支持将数据持久化到磁盘上。Redis是一款键值数据库,它支持多种数据结构(例

PHP实现MySQL数据库主从复制的方法PHP实现MySQL数据库主从复制的方法May 17, 2023 am 08:18 AM

随着互联网的飞速发展,Web应用程序越来越多地集成了数据库操作。MySQL作为一款世界知名的关系型数据库系统,使用广泛。在高并发的Web应用中,MySQL主从复制是一种提高数据库性能和可用性的重要方式。本文将介绍如何使用PHP实现MySQL数据库主从复制。一、什么是MySQL主从复制MySQL主从复制是指将一个MySQL数据库服务器的数据复制到另一个服务器上

php7.0怎么安装mongo扩展php7.0怎么安装mongo扩展Nov 21, 2022 am 10:25 AM

php7.0安装mongo扩展的方法:1、创建mongodb用户组和用户;2、下载mongodb源码包,并将源码包放到“/usr/local/src/”目录下;3、进入“src/”目录;4、解压源码包;5、创建mongodb文件目录;6、将文件复制到“mongodb/”目录;7、创建mongodb配置文件并修改配置即可。

php怎么使用mongodb进行增删查改操作php怎么使用mongodb进行增删查改操作Mar 28, 2023 pm 03:00 PM

MongoDB作为一款流行的NoSQL数据库,已经被广泛应用于各种大型Web应用和企业级应用中。而PHP语言也作为一种流行的Web编程语言,与MongoDB的结合也变得越来越重要。在本文中,我们将会学习如何使用PHP语言操作MongoDB数据库进行增删查改的操作。

构建高可用的MySQL集群:主从复制与负载均衡的最佳实践指南构建高可用的MySQL集群:主从复制与负载均衡的最佳实践指南Sep 09, 2023 am 10:57 AM

构建高可用的MySQL集群:主从复制与负载均衡的最佳实践指南近年来,随着互联网的快速发展,数据库已成为大部分Web应用的核心数据存储和处理引擎之一。在这个场景下,高可用性和负载均衡成为了数据库架构设计中的重要考虑因素。而MySQL作为最受欢迎的开源关系型数据库之一,其集群化部署方案备受关注。本文将介绍如何通过MySQL主从复制与负载均衡实现高可用的数据库集群

SpringBoot怎么整合Mongodb实现增删查改SpringBoot怎么整合Mongodb实现增删查改May 13, 2023 pm 02:07 PM

一、什么是MongoDBMongoDB与我们之前熟知的关系型数据库(MySQL、Oracle)不同,MongoDB是一个文档数据库,它具有所需的可伸缩性和灵活性,以及所需的查询和索引。MongoDB将数据存储在灵活的、类似JSON的文档中,这意味着文档的字段可能因文档而异,数据结构也会随着时间的推移而改变。文档模型映射到应用程序代码中的对象,使数据易于处理。MongoDB是一个以分布式数据库为核心的数据库,因此高可用性、横向扩展和地理分布是内置的,并且易于使用。况且,MongoDB是免费的,开源

PHP实现MongoDB数据库可用性的方法PHP实现MongoDB数据库可用性的方法May 16, 2023 am 10:01 AM

随着互联网技术的不断发展,大数据成为企业发展的重要资产。而对于企业来说,数据的可用性和安全性至关重要。MongoDB是一个高性能、高可用性的NoSQL数据库,越来越受到企业的青睐。然而,MongoDB的可用性也是企业关注的焦点之一,本文将介绍PHP实现MongoDB数据库可用性的方法。一、了解MongoDB的高可用性特性MongoDB作为NoSQL数据库,具

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

Repo: How To Revive Teammates
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor