MySql数据库实现主从复制

简介

数据库的主从复制又可称为主从同步,指一台服务器充当主数据库服务器,另一台或多台服务器充当从数据库服务器,主服务器中的数据自动复制到从服务器之中。对于多级复制,数据库服务器即可充当主机,也可充当从机。MySQL主从复制的基础是主服务器对数据库修改记录二进制日志,从服务器通过主服务器的二进制日志自动执行更新。一句话表示就是,主数据库做什么,从数据库就跟着做什么。

实现原理

1.Master 数据库只要发生变化,立马记录到Binary log 日志文件中
2.Slave数据库启动一个I/O thread连接Master数据库,请求Master变化的二进制日志
3.Slave I/O获取到的二进制日志,保存到自己的Relay log 日志文件中。
4.Slave 有一个 SQL thread定时检查Realy log是否变化,变化那么就更新数据

作用

  • 实现服务器负载均衡
  • 通过复制实现数据的异地备份
  • 提高数据库系统的可用性
  • 实现业务上的读写分离

环境准备

本地安装两个mysql,或者使用虚拟机,或者使用docker安装,需要准备两个mysql,本文使用的是docker方式安装。
具体安装方法:https://charones.com/archives/104.html

宿主机 centos7 mysql:8.0.21
mysql1(master): 172.17.0.3:3308
mysql2(slave): 172.17.0.2:3309

主数据库配置