MySQL数据库的集群方案
MySQL 高可用架构:主从备份
- 为了防止数据库的突然,挂机,我们需要对数据库进行
高可用架构
主从备份 是常见的场景 - 通常情况下都是
一主一从/(多从)
正常情况下,都是主机进行工作,从机进行备份主机数据,如果主机某天突然意外宕机,从机可以立刻工作
而不会数据丢失…
MySql 主从复制原理
mysql主节点(称master) | 从(称slave)复制
- 首先我们要先开启主机的
日志记录
master主机,每进行 DML的操作,向日志中写入一条消息记录到二进制日志事件(binary log)
- 从节点,中会指定主节点的信息:ip 端口
二进制日志 的位置文件...
并启动一个线程,异步实时的
将master的binary log events拷贝到它的中继日志(relay log) slave重做中继日志中的事件,将改变反映它自己的数据(数据重演)
注意:
- 通常为了保证数据准确,主从备份之前要:确保
- 主DB server和从DB server数据库的版本一致
- 主DB server和从DB server数据库数据一致
- 主DB server开启二进制日志,主DB server和从DB server的server_id
服务id
都必须唯一
环境准备:
- percona-5-7-23.tar
Mysql的衍生版本Percona 通过docker进行搭建服务。
这里本人直接使用提供好的tar 进行生成Docker镜像
有网络条件的朋友可以直接 拉取最新的镜像!
Docker 搭建Mysql 主从备份:
- 正好,前段时间,看了一段时间Dokcer 本次就直接通过Dokcer进行搭建了…
正常情况其实也无疑..
搭建Master01节点:
代码语言:javascript复制#本人安装软件的目录:
[root@hadoop1 ~]# cd /usr/local
[root@hadoop1 local]# ls
apache-phoenix-5.0.0-HBase-2.0-bin elasticsearch haproxy-1-9-3.tar kafka_2.10-0.10.2.1 MR-1.0-SNAPSHOT.jar partition.csv zookeeper-3.4.13
apache-tomcat-7.0.85 elasticsearch-6.2.4 hbase-2.1.0 kibana-6.2.4-linux-x86_64 Mycat-server-1.6.6.1-release-20181031195535-linux.tar.gz percona-5-7-23.tar
apollo hadoop jdk1.8.0_171 logstash-6.3.0 mysql wordcount.txt
#本人没有下载,就直接讲 tar包转换成镜像文件了...
[root@hadoop1 local]# docker load --input percona-5-7-23.tar
f972d139738d: Loading layer [==================================================>] 208.8MB/208.8MB
793d15bf88da: Loading layer [==================================================>] 6.144kB/6.144kB
f34bc9e37309: Loading layer [==================================================>] 303.1kB/303.1kB
39df7a5abc61: Loading layer [==================================================>] 22.46MB/22.46MB
#省略..
#查看所有镜像
#percona Mysql衍生版本
#haproxy 代理服务器
[root@hadoop1 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
haproxy 1.9.3 d1ba0f09266d 2 years ago 72.1MB
percona 5.7.23 9db94bcf28b3 2 years ago 577MB
正片开始