mongodb主从复制小结
在生产环境中单台数据库一般不能满足业务稳定性的需求,所以数据库主从复制架构在生产环境中很常见,用于主从复制也是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端口进行图形化监控
本文出自 “滴水穿石孙杰” 博客,请务必保留此出处

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

Node.js 是一种服务器端 JavaScript 运行时,而 Vue.js 是一个客户端 JavaScript 框架,用于创建交互式用户界面。Node.js 用于服务器端开发,如后端服务 API 开发和数据处理,而 Vue.js 用于客户端开发,如单页面应用程序和响应式用户界面。

解决 Navicat 过期问题的方法包括:续订许可证;卸载并重新安装;禁用自动更新;使用 Navicat Premium Essentials 免费版;联系 Navicat 客户支持。

对于前端开发人员而言,学习 Node.js 的难度取决于其 JavaScript 基础、服务器端编程经验、命令行熟悉度和学习风格。学习过程包括入门级和进阶级的模块,重点关注基础概念、服务器端架构、数据库集成和异步编程。总体而言,对于具备扎实 JavaScript 基础并愿意投入时间和精力的开发人员,学习 Node.js 并不困难,但对于缺乏相关经验的人来说,可能需要克服一定的挑战。

Node.js可用于前端(处理用户界面和交互)和后端(管理逻辑和数据)。前端使用HTML、CSS、JavaScript框架,而前端使用Node.js框架、数据库、云服务。重点不同(前端注重体验,后端注重功能),运行环境不同(前端在浏览器,后端在服务器),工具不同(前端和后端使用不同的代码编译和打包工具集),虽然都使用JavaScript,但可访问不同的API和库。

使用Golang函数构建消息驱动的架构包含以下步骤:创建事件源,产生事件。选择消息队列,用于存储和转发事件。部署Go函数作为订阅者,从消息队列订阅和处理事件。

要使用 Navicat 连接 MongoDB,您需要:安装 Navicat创建 MongoDB 连接:a. 输入连接名称、主机地址和端口b. 输入认证信息(如果需要)添加 SSL 证书(如果需要)验证连接保存连接

Node.js 中最常用的模块包括:用于文件操作的文件系统模块用于网络通信的网络模块用于处理数据流的流模块用于与数据库交互的数据库模块其他实用模块,如加密、查询字符串解析和 HTTP 框架

对于 Node.js 应用,选择数据库取决于应用要求。NoSQL 数据库 MongoDB 提供灵活性,Redis 提供高并发性,Cassandra 处理时间序列数据,Elasticsearch 专用于搜索。SQL 数据库 MySQL 性能出色,PostgreSQL 功能丰富,SQLite 轻量级,Oracle Database 全面。选择时,需考虑数据类型、查询、性能、事务性、可用性、许可和成本。
