Mysql 复制工作原理

数据库配置的时候,一定要开启二进制日志,如果开始没开启后来再想开启的话,必须重启。

基于日志点的复制

 

 备份数据库工具

-------------------------------------------------------------------------------------------------

基于日志的复制连路

开始

1.准备2台虚拟机,ip addr命令查看ip

主服务器ip 192.168.3.100, 从服务器192.168.3.101

2.创建用户,更改用户权限

 

3.配置主数据库 和 从数据库 的参数 /etc/my.cnf

主服务器

server-id = 1

启动了bin-log

从服务器

server-id = 2

配置relay—log

同样启用的bin-log。 最好启用,方便主从迁移,故障转移等。

4.初始化从服务器的数据 

  备份主数据库,这里因为是测试 用的mysql dump ,生产环境最好选用xtrabuctup

  注意不要备份系统库,会造成未知的问题

将文件备份到从服务器上 root目录

初始化从服务器数据库

5.启动复制连路

查看备份文件 all.sql 里面有这么一句话,直接复制下来就行

 

将连路配置好

查看连路配置  show slave status G;

启动连路  start slave;

6.查看主从进程 show processlist G;

从服务器启动了2条相关的线程

主服务器启动了Binlog Dump 线程

-------------------------------------------------------------------------------------------------

 基于日志复制的优缺点

 ----------------------------------------------------------------------------------------------------

GTID复制方式的优势

基于日志复制的缺点

 

GTID复制的优势

GTID的步骤

 

 ----------------------------------------------------------------------------------------------------

 基于GTID的复制

前两步是和【基于日志的复制】步骤是一样的

 3.修改主服务器上的文件  vi etc/my.cnf

启动这两个选项

 

从服务器的配置

启动 这几个选项

重启服务器

4.初始化从服务器的数据

 

拷贝到从服务器

5.对从数据库进行配置 

6.启动复制,并查看是否成功

7.测试 : 主数据库添加数据,查看从数据库是否有数据

-----------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------- 

从库分担读负载,分库分表分担写负载。

 主主复制

不建议使用,但是特定场景除外

场景:例如两个地区都有数据库,都要保存两个地区的数据。

1。主备模式,只有一个主对外提供服务,一个 出现问题,另一个才会对外提供服务

2。主主模式,同时对外提供服务

可能停留在5-8的课程中

原文地址:https://www.cnblogs.com/zhaoyang-1989/p/6880455.html