Home Database Mysql Tutorial MongoDB不同版本实现主从复制

MongoDB不同版本实现主从复制

Jun 07, 2016 pm 02:58 PM

实战讲解一下MongoDB的搭建和主从复制,因为只有一台服务器,所以只能通过修改端口号实现MongoDB的主从,而不是通过多台服务器实

MongoDB有一个主要特性就是复制,有多种复制形式,其中,主从复制是比较常用的一种。

主从复制的工作原理:首先要有两个或更多的服务器,其中一个是主节点,负责处理客户端的请求,其他的都是从节点,,负责映射主节点的数据。主节点记录在其上执行的所有操作,从节点定期轮询主节点获得的这些操作,然后执行这些操作。由于从节点和主节点执行了相同的操作,从节点就能保持与主节点的数据同步。

实战讲解一下MongoDB的搭建和主从复制,因为只有一台服务器,所以只能通过修改端口号实现MongoDB的主从,而不是通过多台服务器实现。其实原理是一样的~,只是这样做实际意义不大~

之前已经装了一个版本的MongoDB(2.6.11),既然现在mongodb已经更新到了3.0.6,那么从库就特意使用3.0.6,反正是测试用途,就不管那么多了~ 
 
安装

mongodb下载地址

下载mongodb3.0.6执行文件包,并解压,把二进制执行文件放在/usr/local/mongo3.0.6目录
 
配置
 
主库配置

# mongod.conf
 
#where to log
logpath=/var/log/mongodb/mongod-27017.log
 
logappend=true
 
# fork and run in background
fork=true
 
port=27017
 
#dbpath=/var/lib/mongo
dbpath=/data/mongodb/mongo-27017
 
# location of pidfile
pidfilepath=/var/run/mongodb/mongod-27017.pid
 
bind_ip=127.0.0.1,192.168.56.61
 
#noauth=true
 
# Ignore query hints
#nohints=true
 
# Disable the HTTP interface (Defaults to localhost:27017).
nohttpinterface = false
rest = true
 
master = true
 
从库配置

# mongod.conf
 
#where to log
logpath=/var/log/mongodb/mongod-27018.log
 
logappend=true
 
# fork and run in background
fork=true
 
port=27018
 
#dbpath=/var/lib/mongo
dbpath=/data/mongodb/mongo-27018
 
# location of pidfile
pidfilepath=/var/run/mongodb/mongod-27018.pid
 
# Listen to local interface only. Comment out to listen on all interfaces.
bind_ip=127.0.0.1,192.168.56.61
 
#noauth=true
 
# Ignore query hints
#nohints=true
 
# Disable the HTTP interface (Defaults to localhost:27018).
nohttpinterface = false
rest = true
 
slave = true
source = 127.0.0.1:27017
 
启动

# 主库启动
/usr/local/mongo2.6.11/mongod -f /etc/mongod/mongod-27017.conf
 
# 从库启动
/usr/local/mongo3.0.6/mongod -f /etc/mongod/mongod-27018.conf
 
 
认证

  不同版本的mongodb开始auth模式可以通过下面的方法来实现

  1. 先把所有主从mongodb设为unauth模式

  2. 在master添加一个账号,这样slave也就自动同步了该账号

  3. 把所有主从mongodb开启auth模式

更多MongoDB相关内容可以看看以下的有用链接: 

MongoDB 3.0 正式版发布下载 

CentOS编译安装MongoDB

CentOS 编译安装 MongoDB与mongoDB的php扩展

CentOS 6 使用 yum 安装MongoDB及服务器端配置

Ubuntu 13.04下安装MongoDB2.4.3

MongoDB入门必读(概念与实战并重)

Ubunu 14.04下MongoDB的安装指南

《MongoDB 权威指南》(MongoDB: The Definitive Guide)英文文字版[PDF]

Nagios监控MongoDB分片集群服务实战

基于CentOS 6.5操作系统搭建MongoDB服务

MongoDB 的详细介绍:请点这里
MongoDB 的下载地址:请点这里

本文永久更新链接地址

Statement of this Website
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

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

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
Two Point Museum: All Exhibits And Where To Find Them
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How do you alter a table in MySQL using the ALTER TABLE statement? How do you alter a table in MySQL using the ALTER TABLE statement? Mar 19, 2025 pm 03:51 PM

The article discusses using MySQL's ALTER TABLE statement to modify tables, including adding/dropping columns, renaming tables/columns, and changing column data types.

How do I configure SSL/TLS encryption for MySQL connections? How do I configure SSL/TLS encryption for MySQL connections? Mar 18, 2025 pm 12:01 PM

Article discusses configuring SSL/TLS encryption for MySQL, including certificate generation and verification. Main issue is using self-signed certificates' security implications.[Character count: 159]

How do you handle large datasets in MySQL? How do you handle large datasets in MySQL? Mar 21, 2025 pm 12:15 PM

Article discusses strategies for handling large datasets in MySQL, including partitioning, sharding, indexing, and query optimization.

What are some popular MySQL GUI tools (e.g., MySQL Workbench, phpMyAdmin)? What are some popular MySQL GUI tools (e.g., MySQL Workbench, phpMyAdmin)? Mar 21, 2025 pm 06:28 PM

Article discusses popular MySQL GUI tools like MySQL Workbench and phpMyAdmin, comparing their features and suitability for beginners and advanced users.[159 characters]

How do you drop a table in MySQL using the DROP TABLE statement? How do you drop a table in MySQL using the DROP TABLE statement? Mar 19, 2025 pm 03:52 PM

The article discusses dropping tables in MySQL using the DROP TABLE statement, emphasizing precautions and risks. It highlights that the action is irreversible without backups, detailing recovery methods and potential production environment hazards.

How do you create indexes on JSON columns? How do you create indexes on JSON columns? Mar 21, 2025 pm 12:13 PM

The article discusses creating indexes on JSON columns in various databases like PostgreSQL, MySQL, and MongoDB to enhance query performance. It explains the syntax and benefits of indexing specific JSON paths, and lists supported database systems.

How do you represent relationships using foreign keys? How do you represent relationships using foreign keys? Mar 19, 2025 pm 03:48 PM

Article discusses using foreign keys to represent relationships in databases, focusing on best practices, data integrity, and common pitfalls to avoid.

How do I secure MySQL against common vulnerabilities (SQL injection, brute-force attacks)? How do I secure MySQL against common vulnerabilities (SQL injection, brute-force attacks)? Mar 18, 2025 pm 12:00 PM

Article discusses securing MySQL against SQL injection and brute-force attacks using prepared statements, input validation, and strong password policies.(159 characters)

See all articles