Deepin_MySQL主从复制

1. 概述

本篇博客主要阐述配置MySQL主从复制的过程。

使用了两个节点:

  • 主节点:node11,IP地址:192.168.80.11
  • 从节点:node12,IP地址:192.168.80.12

两个节点已经ssh互通,操作系统为centos7最小化安装。

2. MySQL主从复制原理

MySQL主从复制有点类似于openLDAP的主从复制。

主库节点会把DDL和DLM操作,通过二进制日志传递给从节点。然后从节点对日志执行重做。从而使得主从数据一致。这个过程实际更像人工两次操作的自动化。

MySQL的默认复制是异步复制。复制的对象可以是整个数据库,也可以是单个数据表。

复制的好处有很多。如果主库出现问题,可以切换到从库提供服务。很多查询工作在从库进行,避免对主库造成压力。在从库执行备份等操作,避免影响主库的服务和业务。

2.1 复制操作的细节

主节点的主库在事务提交时,会把数据库的变更作为事件,记录在binlog中。主库的sys_binlog控制binlog刷新到磁盘。

主节点的主库推送二进制文件给从节点的从库的中继日志relay log。从库根据这个中继日志,做数据库变更。

从节点的从库启动复制(start slave)时,首先创建I/O线程连接主库。主库随后创建binlog dump线程读取数据库事件发送给I/O线程。I/O线程获取到事件更新到中继日志,然后从库的SQL线程读取中继日志更新数据。

为了避免从库宕机重新开机之后无法正确复制,从库还创建了两个日志文件:master.info和relay-log.info来保存复制进度。

3. 部署过程

截图个试试看

https://user-gold-cdn.xitu.io/2020/4/28/171be7f0e0805d0d?w=801&h=261&f=png&s=29584

4. 故障模拟

上一篇:ArchLinux与Deepin桌面环境安装


下一篇:一篇文章快速搞懂 Deepin下的MySQL安装配置