Maison base de données tutoriel 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 |              |                  |+------------------+----------+--------------+------------------+
Copier après la connexion

 

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

2、        监控从服务器的状态

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

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

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

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

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

 

bitsCN.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Qu'est-ce que la pièce SOL ? Comment fonctionne la pièce SOL ? Qu'est-ce que la pièce SOL ? Comment fonctionne la pièce SOL ? Mar 16, 2024 am 10:37 AM

Qu'est-ce que la pièce SOL ? Comment fonctionne la pièce SOL ?

Comment configurer Dnsmasq comme serveur relais DHCP Comment configurer Dnsmasq comme serveur relais DHCP Mar 21, 2024 am 08:50 AM

Comment configurer Dnsmasq comme serveur relais DHCP

Quelle est l'architecture et le principe de fonctionnement de Spring Data JPA ? Quelle est l'architecture et le principe de fonctionnement de Spring Data JPA ? Apr 17, 2024 pm 02:48 PM

Quelle est l'architecture et le principe de fonctionnement de Spring Data JPA ?

Qu'est-ce que la pièce Polygone ? Comment fonctionne la pièce Polygon ? Qu'est-ce que la pièce Polygone ? Comment fonctionne la pièce Polygon ? Mar 16, 2024 am 09:22 AM

Qu'est-ce que la pièce Polygone ? Comment fonctionne la pièce Polygon ?

Comment installer l'extension PHP FFmpeg sur le serveur ? Comment installer l'extension PHP FFmpeg sur le serveur ? Mar 28, 2024 pm 02:39 PM

Comment installer l'extension PHP FFmpeg sur le serveur ?

Qu'est-ce que la pièce VET ? Comment fonctionne la pièce VET ? Qu'est-ce que la pièce VET ? Comment fonctionne la pièce VET ? Mar 16, 2024 am 11:40 AM

Qu'est-ce que la pièce VET ? Comment fonctionne la pièce VET ?

Qu'est-ce que la pièce SHIB ? Comment fonctionne la pièce SHIB ? Qu'est-ce que la pièce SHIB ? Comment fonctionne la pièce SHIB ? Mar 17, 2024 am 08:49 AM

Qu'est-ce que la pièce SHIB ? Comment fonctionne la pièce SHIB ?

Qu'est-ce que la pièce d'Algorand ? Comment fonctionne la pièce Algorand ? Qu'est-ce que la pièce d'Algorand ? Comment fonctionne la pièce Algorand ? Mar 17, 2024 am 08:30 AM

Qu'est-ce que la pièce d'Algorand ? Comment fonctionne la pièce Algorand ?

See all articles