首先说一下mysql主从复制支持哪些方式:

单向,双向,链式级联,实时,异步复制。在复制的时候,一台服务器充当主服务器,而一个或者多个的其他服务器充当从服务器。

 一主一从:

主从双活 架构图 主从联动是什么_主从双活 架构图

 一组多从

 

主从双活 架构图 主从联动是什么_主从双活 架构图_02

互为主从

主从双活 架构图 主从联动是什么_级联_03

 

 还有什么级联啊,环装啊。这里就不列举了,我们也没有弄过,搞懂其中一个,原理都差不多

 

 其实mysql的主从同步,不是严格的实时的。但是感觉是实时的。后面我会提

 

算了,不讲废话了。把过程记录下来吧。。。

准备工作:

有两台机器,分别跑两个mysql实例.但是接下来我是在同一台机器上跑的两个实例,和两台机器一样的。(声明。以后的案例我都将会用多实例的方式来搞。)

启动两个实例:

mysqld_safe --defaults-file=/data/3306/my.cnf  2>&1 >/dev/null &                 (master)

mysqld_safe --defaults-file=/data/3307/my.cnf  2>&1 >/dev/null &                 (slave)

 

先看看我们的主库,差不多就下面这些库

主从双活 架构图 主从联动是什么_主从双活 架构图_04

 

在主从之前,先要把主库备份出来,备份出来的东东待会要灌到从库里面去。

mysqldump -uroot -p359359 -S /data/3306/mysql.sock -A -B --events --master-data=2| gzip > rep.sql.gz

 

 

主从双活 架构图 主从联动是什么_服务器_05

 

然后登陆到主库授权(很重要,千万别忘记了):

grant replication slave on *.* to replication@'localhost' identified by '359359'

flush privileges;

主从双活 架构图 主从联动是什么_mysql_06

 

主从同步,主库的操作就这些工作。

 

接下来从库操作:

首先,将主库备份出来的数据灌到从库

mysql -uroot -p359359 -S /data/3307/mysql.sock < /data/3306/replication.sql 

主从双活 架构图 主从联动是什么_mysql_07

 

登陆从库:

 change master to master_host='192.168.88.229', master_port=3306, master_user='replication', master_password='359359', master_log_file='mysql-bin.000002', master_log_pos=107;

这一步,主要是为同步做准备,开起从库的io进程链接主库的io进程,将二进制日志数据拉取到从库的relay-bin.xxxxxx里面。更新relay-log.info。

 

 

主从双活 架构图 主从联动是什么_服务器_08

 

其他配置项都很好理解,master_log_file='mysql-bin.000002', master_log_pos=107。这两个的依据,就是在备份主库的时候,会记录下从某个二进制文件之前,某个id之前的都是全背的。比如这个例子中,mysql-bin.000002这个文件中id=107这个之前的数据都是全备份的。这个可以从我们的备份文件中看到。所以备份的时候,要加--master-data=1或者2参数

 

主从双活 架构图 主从联动是什么_主从双活 架构图_09

好了,执行上面的语句如果没有报错的话,那么就剩下最后一步了。

执行start slave。

主从双活 架构图 主从联动是什么_主从双活 架构图_10

执行成功以后,查看从库的状态

show slave status\G;

 

主从双活 架构图 主从联动是什么_服务器_11

 

 

主从双活 架构图 主从联动是什么_主从双活 架构图_12

 

 看到图中标红的几个地方。两个yes,一个0.说明同步的IO进程已经正常。从库写数据库的进程正常,落后主库的秒数为0.说明一切正常。

好,那就来验证一下。我们去主库建一个数据库:

主从双活 架构图 主从联动是什么_mysql_13

去从库。看看,生成了咩的

主从双活 架构图 主从联动是什么_主从双活 架构图_14

老铁,没毛病。。。。

实在是J2困了,很多地方估计没有写清楚,有问题留言。我个人也去改一下。

睡觉。困死我了!!!