데이터 베이스 MySQL 튜토리얼 MYSQL主从服务器配置工作原理_MySQL

MYSQL主从服务器配置工作原理_MySQL

Jun 01, 2016 pm 01:32 PM
작동 원리 섬기는 사람

bitsCN.com

MYSQL主从服务器配置工作原理

 

一、        主从配置的原理:

Mysql的 Replication 是一个异步的复制过程,从一个 Mysql instace(我们称之为 Master)复制到另一个

Mysql instance(我们称之 Slave)。在 Master 与 Slave

之间的实现整个复制过程主要由三个线程来完成,其中两个线程(Sql线程和IO线程)在 Slave 端,另外一个线程(IO线程)在 Master

端。

  要实现 MySQL 的 Replication ,首先必须打开 Master 端的Binary

Log(mysql-bin.xxxxxx)功能,否则无法实现。因为整个复制过程实际上就是Slave从Master端获取该日志然后再在自己身上完全

顺序的执行日志中所记录的各种操作。打开 MySQL 的 Binary Log 可以通过在启动 MySQL Server 的过程中使用

“—log-bin” 参数选项,或者在 my.cnf 配置文件中的 mysqld 参数组([mysqld]标识后的参数部分)增加

“log-bin” 参数项。

  MySQL 复制的基本过程如下:

  1. Slave 上面的IO线程连接上 Master,并请求从指定日志文件的指定位置(或者从最开始的日志)之后的日志内容;

 

   2. Master 接收到来自 Slave 的 IO 线程的请求后,通过负责复制的 IO

线程根据请求信息读取指定日志指定位置之后的日志信息,返回给 Slave 端的 IO

线程。返回信息中除了日志所包含的信息之外,还包括本次返回的信息在 Master 端的 Binary Log 文件的名称以及在 Binary

Log 中的位置;

  3. Slave 的 IO 线程接收到信息后,将接收到的日志内容依次写入到 Slave 端的Relay

Log文件(mysql-relay-bin.xxxxxx)的最末端,并将读取到的Master端的bin-log的文件名和位置记录到master-

info文件中,以便在下一次读取的时候能够清楚的高速Master“我需要从某个bin-log的哪个位置开始往后的日志内容,请发给我”

 

   4. Slave 的 SQL 线程检测到 Relay Log 中新增加了内容后,会马上解析该 Log 文件中的内容成为在 Master

端真实执行时候的那些可执行的 Query 语句,并在自身执行这些 Query。这样,实际上就是在 Master 端和 Slave

端执行了同样的 Query,所以两端的数据是完全一样的。

二、        设置mysql主从配置的优点:

1、        解决web应用系统,数据库出现的性能瓶颈,采用数据库集群的方式来实现查询负载;一个系统中数据库的查询操作比更新操作要多得多,通过多台查询服务器将数据库的查询分担到不同的查询服务器上从而提高查询效率。

2、        Mysql数据库支持数据库的主从复制功能,使用主数据库进行数据的插入、删除与更新操作,而从数据库则专门用来进行数据查询操作,这样可以将更新操作和查询操作分担到不同的数据库上,从而提高了查询效率。

三、        主从数据库服务器的配置

1、        主数据库服务器的配置

(1)、修改mysql的配置文件(/etc/my.cnf)在配置文件中设置:

server-id       = 1   ###每一个数据库服务器都要制定一个唯一的server-id,通常主服务器制定为1。

log-bin=mysql-bin     ###mysql进行主从复制是通过二进制的日志文件来进行的,所以必须开启mysql的日志功能

(这个是/etc/my.cnf的默认配置,保持不变即可)

(2)、GRANT REPLICATION SLAVE ON *.* TO ' replication'@'172.28.3.41' IDENTIFIED BY 'koncept';        #####给主数据库服务器授予一个可以进行复制的用户,172.28.3.41为从服务器的IP,这样从服务器就能有钱先来访问主数据库服务器

2、从数据库服务器的设置

修改数据库配置文件/etc/my.cnf,配置如下内容:

   #server-id      = 1  ####必须把server-id      = 1注释掉,

   server-id       = 2  ####设置从的ID号

   master-host     =  172.28.3.43  #####设置主服务器的IP

   master-user     =   replication  #####设置连接主服务器的用户名

   master-password =   concept     #####设置连接主服务器的密码

   replicate-do-db=imtest0  ######设置你要同步的数据库,可以设置多个   

####就是我们前面建的用户名和密码,另外如果有端口号的变化还要配置端口

master-port     =   配置成你设置的端口就OK了!

3、分别重新启动主从服务器 #### 如果不重新启动主服务器在后面查看status的时候会出现问题!

4在从服务器上登录mysql,输入:show slave status/G  如果发现有:

  Slave_IO_Running: Yes

Slave_SQL_Running: Yes

  就说明已经成功了,如果这两个选项不全是Yes,那就说明你钱面的某个配置错了,

  我做的时候没有把主服务器重启,就出现  Slave_IO_Running: NO。重启后好了!

四、        监控服务器的状态

1、        监控主服务器的状态

可通过show master status来监控主服务器的状态,内容如下:

+------------------+----------+--------------+------------------+| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |+------------------+----------+--------------+------------------+| mysql-bin.000003 |     1164 |              |                  |+------------------+----------+--------------+------------------+
로그인 후 복사

 

#####其中File表示日志文件记录,Position表示日志文件的位置,这个也是数据库执行复制操作的必须标识,后面两字段表示复制的数据库名和不复制的数据库名,也可以在配置文件中你进行配置。

2、        监控从服务器的状态

可以通过:show slave status/G来查看,另外如果从数据库在复制的过程中出现问题,可以通过命令reset slave从数据库服务器复制的线程,从数据库服务器的通常操作命令有:

start slave;  ####启动复制线程

stop slave;  ####停止复制线程

reset slave;  ####重置复制线程

change master to; ###动态改变到主服务器的配置

 

bitsCN.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
2 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
2 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
2 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

SOL 코인이란? SOL 코인은 어떻게 작동하나요? SOL 코인이란? SOL 코인은 어떻게 작동하나요? Mar 16, 2024 am 10:37 AM

솔라나 블록체인과 SOL 토큰 솔라나는 분산 애플리케이션(dApp)에 고성능, 보안, 확장성을 제공하는 데 초점을 맞춘 블록체인 플랫폼입니다. 솔라나 블록체인의 기본 자산인 SOL 토큰은 주로 거래 수수료 지불, 서약, 거버넌스 결정 참여에 사용됩니다. 솔라나의 독특한 특징은 빠른 거래 확인 시간과 높은 처리량으로 개발자와 사용자가 선호하는 선택입니다. SOL 토큰을 통해 사용자는 솔라나 생태계의 다양한 활동에 참여하고 플랫폼의 개발과 발전을 공동으로 추진할 수 있습니다. 솔라나의 작동 원리 솔라나는 수천 건의 거래를 효율적으로 처리할 수 있는 역사 증명(PoH)이라는 혁신적인 합의 메커니즘을 사용합니다.

Dnsmasq를 DHCP 릴레이 서버로 구성하는 방법 Dnsmasq를 DHCP 릴레이 서버로 구성하는 방법 Mar 21, 2024 am 08:50 AM

DHCP 릴레이의 역할은 두 서버가 서로 다른 서브넷에 있더라도 수신된 DHCP 패킷을 네트워크의 다른 DHCP 서버로 전달하는 것입니다. DHCP 릴레이를 사용하면 네트워크 센터에 중앙 집중식 DHCP 서버를 배포하고 이를 사용하여 모든 네트워크 서브넷/VLAN에 IP 주소를 동적으로 할당할 수 있습니다. Dnsmasq는 네트워크에서 동적 호스트 구성을 관리하는 데 도움이 되도록 DHCP 릴레이 서버로 구성할 수 있는 일반적으로 사용되는 DNS 및 DHCP 프로토콜 서버입니다. 이 기사에서는 dnsmasq를 DHCP 릴레이 서버로 구성하는 방법을 보여줍니다. 내용 항목: 네트워크 토폴로지 중앙 집중식 DHCP 서버의 DHCP 릴레이 D에서 고정 IP 주소 구성

Spring Data JPA의 아키텍처와 작동 원리는 무엇입니까? Spring Data JPA의 아키텍처와 작동 원리는 무엇입니까? Apr 17, 2024 pm 02:48 PM

SpringDataJPA는 JPA 아키텍처를 기반으로 하며 매핑, ORM 및 트랜잭션 관리를 통해 데이터베이스와 상호 작용합니다. 해당 리포지토리는 CRUD 작업을 제공하고 파생 쿼리는 데이터베이스 액세스를 단순화합니다. 또한 지연 로딩을 사용하여 필요한 경우에만 데이터를 검색하므로 성능이 향상됩니다.

폴리곤 코인이란? 폴리곤 코인은 어떻게 작동하나요? 폴리곤 코인이란? 폴리곤 코인은 어떻게 작동하나요? Mar 16, 2024 am 09:22 AM

Polygon: 이더리움 생태계를 구축하는 다기능 블록체인 Polygon은 이전에 MaticNetwork로 알려진 Ethereum을 기반으로 구축된 다기능 블록체인 플랫폼입니다. 이더리움 네트워크의 확장성, 높은 수수료, 복잡성 문제를 해결하는 것이 목표입니다. Polygon은 확장성 솔루션을 제공하여 개발자와 사용자에게 더 빠르고 저렴하며 간단한 블록체인 경험을 제공합니다. Polygon의 작동 방식은 다음과 같습니다. 사이드체인 네트워크: Polygon은 여러 사이드체인의 네트워크를 생성합니다. 이러한 사이드체인은 메인 이더리움 체인과 병렬로 실행되며 대량의 트랜잭션을 처리할 수 있으므로 전체 네트워크 처리량이 증가합니다. 플라즈마 프레임워크: Polygon은 플라즈마 프레임워크를 활용합니다.

VET 코인이란 무엇인가요? VET 코인은 어떻게 작동하나요? VET 코인이란 무엇인가요? VET 코인은 어떻게 작동하나요? Mar 16, 2024 am 11:40 AM

VET 코인: 블록체인 기반 IoT 생태계 VeChainThor(VET)는 데이터의 신뢰성을 보장하고 공급망 관리 및 비즈니스 프로세스의 안전한 전송을 가능하게 하여 사물 인터넷(IoT) 분야를 향상시키는 것을 목표로 하는 블록체인 기술 기반 플랫폼입니다. . VET 코인은 VeChainThor 블록체인의 기본 토큰이며 다음과 같은 기능을 가지고 있습니다: 거래 수수료 지불: VET 코인은 데이터 저장, 스마트 계약 실행 및 신원 확인을 포함하여 VeChainThor 네트워크에서 거래 수수료를 지불하는 데 사용됩니다. 거버넌스: VET 토큰 보유자는 플랫폼 업그레이드 및 제안에 대한 투표를 포함하여 VeChainThor의 거버넌스에 참여할 수 있습니다. 인센티브: VET 코인은 네트워크의 검증자에게 인센티브를 제공하여 다음을 보장하는 데 사용됩니다.

SHIB 코인이란? SHIB 코인은 어떻게 작동하나요? SHIB 코인이란? SHIB 코인은 어떻게 작동하나요? Mar 17, 2024 am 08:49 AM

ShibaInu 코인: 개에서 영감을 받은 암호화폐 ShibaInu 코인(SHIB)은 상징적인 Shiba Inu 이모티콘에서 영감을 받은 분산형 암호화폐입니다. 암호화폐는 2020년 8월에 출시되었으며 이더리움 네트워크에서 Dogecoin의 대안이 되는 것을 목표로 합니다. 작동 원리 SHIB 코인은 이더리움 블록체인을 기반으로 구축된 디지털 통화이며 ERC-20 토큰 표준을 준수합니다. 이는 분산 합의 메커니즘인 지분 증명(PoS)을 활용하여 보유자가 SHIB 토큰을 스테이킹하여 거래를 확인하고 이에 대한 보상을 받을 수 있도록 합니다. 주요 특징 막대한 공급량: SHIB 코인의 초기 공급량은 1,000조 코인으로, 유통되는 암호화폐 중 최대 규모입니다. 낮은 가격

알고랜드 코인이란 무엇인가요? 알고랜드 코인은 어떻게 작동하나요? 알고랜드 코인이란 무엇인가요? 알고랜드 코인은 어떻게 작동하나요? Mar 17, 2024 am 08:30 AM

알고랜드(Algorand): 순수 비잔틴 합의 프로토콜을 기반으로 한 블록체인 플랫폼입니다. 알고랜드는 순수 비잔틴 합의 프로토콜을 기반으로 구축된 블록체인 플랫폼으로, 효율적이고 안전하며 확장 가능한 블록체인 솔루션을 제공하는 것을 목표로 합니다. 이 플랫폼은 MIT 교수 Silvio Micali가 2017년에 설립했습니다. 작동 원리 알고랜드의 핵심은 고유한 순수 비잔틴 합의 프로토콜인 알고랜드 합의에 있습니다. 이 프로토콜을 사용하면 네트워크에 악의적인 노드가 있더라도 노드는 무신뢰 환경에서 합의를 달성할 수 있습니다. 알고랜드 합의는 일련의 단계를 통해 이 목표를 달성합니다. 키 생성: 각 노드는 공개 키와 개인 키 쌍을 생성합니다. 제안 단계: 무작위로 선택된 노드가 새로운 영역을 제안합니다.

서버에 PHP FFmpeg 확장을 설치하는 방법은 무엇입니까? 서버에 PHP FFmpeg 확장을 설치하는 방법은 무엇입니까? Mar 28, 2024 pm 02:39 PM

서버에 PHPFFmpeg 확장을 설치하는 방법은 무엇입니까? 서버에 PHPFFmpeg 확장을 설치하면 PHP 프로젝트에서 오디오 및 비디오 파일을 처리하고 오디오 및 비디오 파일의 인코딩, 디코딩, 편집 및 처리와 같은 기능을 구현하는 데 도움이 될 수 있습니다. 이 기사에서는 서버에 PHPFFmpeg 확장을 설치하는 방법과 구체적인 코드 예제를 소개합니다. 먼저, PHP와 FFmpeg가 서버에 설치되어 있는지 확인해야 합니다. FFmpeg가 설치되어 있지 않은 경우 아래 단계에 따라 FFmpe를 설치할 수 있습니다.

See all articles