17.1-17.5

17.1 MySQL主从介绍


 MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步的

 MySQL主从是基于binlog的,主上须开启binlog才能进行主从。

 主从过程大致有3个步骤

 1)主将更改操作记录到binlog里

 2)从将主的binlog事件(sql语句)同步到从本机上并记录在relaylog里

 3)从根据relaylog里面的sql语句按顺序执行

 主上有一个log dump线程,用来和从的I/O线程传递binlog

 从上有两个线程,其中I/O线程用来同步主的binlog并生成relaylog,另外一个SQL线程用来把relaylog里面的sql语句落地


MySQL主从原理图

截图

原理:从会把主的binlog搞到从上,从会根据binlog生成自己的一份中继日志,然后根据中继日志去执行响应的更改,最终达到数据同步一致。


主从的工作场景:

数据备份-->目的是防止主机器发生意外导致无法正常使用,从而将在主上备份到从上的数据迁移出来,从而使其继续服务运作。

数据备份且在从上读取数据-->从库作为读库,减轻主库读的压力。



17.2 准备工作

准备2台Linux服务器,分别作为主库,从库。

centos7-01主库,centos7-02从库

截图

目的是让2台机器都正常启动mysql,方便后面做实验


17.3 主从配置 - 主上操作

1 修改my.cnf,增加server-id=128和log_bin=aminglinux1

[root@centos7-01 src]# vim /etc/my.cnf


[mysqld]

datadir=/data/mysql

socket=/tmp/mysql.sock

server-id=128

log_bin=aminglinux1

解释:

sever-id为自定义

log_bin名称不能有错误,它是binlog的前缀

2 重启mysql

[root@centos7-01 src]# /etc/init.d/mysqld restart

Shutting down MySQL.. SUCCESS! 

Starting MySQL.. SUCCESS! 


2.1 重启后查看mysql生成的文件

[root@centos7-01 src]# cd /data/mysql/

[root@centos7-01 mysql]# ls -lt

总用量 110648

-rw-rw---- 1 mysql mysql 50331648 5月  16 16:04 ib_logfile0

-rw-rw---- 1 mysql mysql 12582912 5月  16 16:04 ibdata1

-rw-rw---- 1 mysql mysql    30114 5月  16 16:04 centos7-01.err

-rw-rw---- 1 mysql mysql        5 5月  16 16:04 centos7-01.pid

-rw-rw---- 1 mysql mysql       21 5月  16 16:04 aminglinux1.index

-rw-rw---- 1 mysql mysql      120 5月  16 16:04 aminglinux1.000001

-rw-rw---- 1 mysql mysql       56 5月   4 17:22 auto.cnf

drwx------ 2 mysql mysql     4096 5月   4 17:10 mysql

drwx------ 2 mysql mysql     4096 5月   4 17:10 performance_schema

-rw-rw---- 1 mysql mysql 50331648 5月   4 17:10 ib_logfile1

drwx------ 2 mysql mysql        6 5月   4 17:10 test


其中前缀aminglinux1是binlog文件

aminglinux1.index 索引文件

aminglinux1.000001 二进制文件,这个随后还会产生002,003....如此类推 

没有这类文件,主从是没办法完成的。



猜你喜欢

转载自blog.51cto.com/13578154/2117077