一、Mysql主从复制

1、Mysql主从复制的作用和原理  

1)主从复制的作用  

 防止单节点数据库故障数据丢失

 增强数据的安全性和可靠性

2)原理  

 主Mysql开启二进制日志

 从数据库监听主Mysql二进制日志变化

 从复制二进制日志到本地

 读取复制的二进制日志执行二进制日志操作从库和主库数据到达一致状态

2、GTID主从复制

1)GTID作用  

 全局事务标识符

 Mysql5.6版本以后的新功能

2)GTID原理  

 主Mysql更新数据时在事务前生成GTID记录到二进制日志中

 从Mysql的I/O线程将变更的二进制写入到本地的relay log中

 从Mysql数据库的SQL线程从relay log获取GTID然后查看从Mysql日志是否有记录

 如果发现有记录不同步数据,没有记录同步数据

二、Mysql8.0配置主从复制

1、修改主配置文件

主mysql:

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_sql

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_二进制日志_02

2个从mysql:

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_主从复制_03

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_二进制日志_04

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_主从复制_05

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_主从复制_06

2、主Mysql创建授权复制用户设置密码

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_sql_07

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_sql_08

3、授权复制

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_sql_09

4、查看主数据库状态

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_sql_10

5、配置从Mysql复制主Mysql数据

1)创建复制

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_sql_11

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_二进制日志_12

2)启动复制进程

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_sql_13

3)查看复制进程状态

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_二进制日志_14

6、配置延迟从库

1)创建复制配置从库比主库延迟5分钟,master_delay=300延迟300秒

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_主从复制_15

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_二进制日志_16

2)启动从库

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_sql_17

3)查看延迟从库

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_sql_18

三、配置gtid复制和恢复

1、配置主Mysql

1)修改主配置文件

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_sql_19

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_sql_20

2)创建主从复制用户

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_二进制日志_21

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_主从复制_22

3)查看主数据库状态

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_二进制日志_23

2、修改从配置文件

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_主从复制_24

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_二进制日志_25

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_sql_26

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_sql_27

3、配置GTID从Mysql数据库

1)创建复制

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_主从复制_28

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_主从复制_29

2)启动复制进程

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_主从复制_30

3)查看复制状态

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_主从复制_31

四、配置Gtid的延迟从Mysql数据库

1、配置延迟GTID复制的从库

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_主从复制_32

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_二进制日志_33

2、启动复制进程

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_主从复制_34

3、查看复制状态

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_二进制日志_35

五、通过延迟从库恢复数据

1、在主库创建数据库设计表结构插入数据,复制到主库和延迟从库,在主库插入新数据模拟误删除数据库

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_二进制日志_36

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_sql_37

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_主从复制_38

2、查看延迟从库复制的二进制日志,锁定要通过延迟库恢复的数据

(引号内容在复制状态的Relay_Log_File)

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_二进制日志_39

3、停止复制进程

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_主从复制_40

4、停止延迟从库

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_sql_41

5、根据GTID编号恢复数据

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_二进制日志_42

6、查看数据

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_主从复制_43

Mysql8.0配置Mysql主从复制GTID复制和延迟从库应用_二进制日志_44