mysql主从复制


一、主从复制的工作原理
   mysql在master与slave之间实现整个复制的过程是由3个线程来完成的,其中两个线程(SQL线程和IO线程)在slave端,另外一个线程(IO线程)在master端
   注:要实现mysql的复制必须首先打开master端的binary log(也就是二进制日志),否则无法实现    
   mysql复制的基本过程如下:
       (1)slave上面的IO线程发起连接,并请求指定日志文件的位置
       (2)master接收到来自slaveIO线程的请求后,通过负责复制的IO线程(即masterIO线程)根据这个请求信息指定日志的位置,把这个信息返回给slave的IO线程(返回信息)
       (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语句


二、具体操作

(1)在Master上操作
首先将bin-log日志打开
其次将server-id设置为1
将log-slave-updates给关闭掉

建立一个内部复制通信用户
grant replication slave on *.* to ‘admin‘@‘10.0.0.202‘ identified by ‘123456‘;
flush privileges;


(2)在Slave上操作
首先将bin-log日志打开
其次将server-id设置为2
将log-slave-updates打开
>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;



mysql主从复制,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。