mysql主从复制 稳定性_mysql主从复制过程

一、主从复制的工作原理

Mysql在Master与slave之间实现整个复制的过程由3个线程来完成的,其中两个线程(SQL线程和IO线程)在

Slave端,另外一个线程(IO)在Master端

要实现Mysql的复制必须首先打开Master端的binary log(也就是二进制日志)否则无法实现.

Mysql复制基本过程如下:

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

(2)Master接收到来自Slave的IO线程请求后,通过负责复制的IO线程根据这个请求信息指定日志的位置后,把这个信息返回给Slave的IO线程(返回的信心当中除了日志所包含的信息外,还包括了Master端的二进制文件名称和 二进文件的位置)

(3)Slave的IO线程接收到Master端的返回信息之后,将日志内容一次写入slave端的Relay log文件,(mysql-relay-bin.xxx)当中,并且读取到Master端的bin-log文件和位置记录,

记录到master-info文件当中,以便下一次能够清楚的告诉Master我需要从某个bin-log的哪个位置开始往后的内容,请发给我。

(4)、Slave的SQL线程检测Relay log中心增加了内容后,马上解析Master二进制文件中的内容,并且执行里面的Query语句.

优点:如果主服务器出现问题,可以快速切换到从服务器提供的服务

可以在从服务器上执行查询操作,降低主服务器的访问压力

可以在从服务器上执行备份,以避免备份期间影响主服务器的服务。

缺点:根基目前业界的备份数据发送方式来看,当第一台服务器崩溃后,仍会有少量的新数据没来的及送到第二台服务器,这部分数据会丢失。

读写分离优点:增加了第二台服务器的压力,也就是增加了不稳定性。读写分离是在一个资金比较缺乏,又需保证数据安全的

前提下,在双机热备的方案上作出的一种折中方案。

二、主从的环境

Master IP:10.0.0.201

Slave  IP:10.0.0.202

(1)在Master上操作

首先将log-bin日志打开

其次将server-id设置为1

将log-slave-updates给关闭掉

建立一个内部复制通信用户

>grant replication slave on *.* to [email protected] identified by ‘123456‘;

flush privileges;

show master status\G;

(2)在Slave上操作

首先将log-bin日志打开

其次将server-id设置为2

将log-slave-updates打开

/etc/init.d/mysqld restart

>stop slave;

>change master to

master_host=‘10.0.0.201‘,

master_user=‘admin‘,

master_password=‘123456‘,

master_log_file=‘mysql-bin.000005‘,

master_log_pos=578;

>start slave;

>show slave status\G;

进行测试

原文:http://lj644242741.blog.51cto.com/9245272/1539122

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值