主从复制是一个老话题了,这里不就不说主从复制的细节了,重点讲下关于show slave status\G 中几种日志和位置的区别;
首先截个图方便讲解:
图中那么多参数,更重要的是单是*log,*pos就好几个,怎么区分呢,各自又代表什么意义呢?
我们先来讲下主从复制的原理:
一、主从原理
Replication 线程
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” 参数项。
复制的基本过程如