集群
集群概述:MySQL复制技术
- 目的:
(1)负载均衡,解决高并发,同时运行
(2)高可用HA,服务可用性
(3)远程灾备,数据有效性
- 主要类型
M:主数据库 master
M-S:一主一从 slave
M-S-S… 一主多从
M-M:双主 从服务器拷贝主服务器,不能从复制从
M-M-S-S: 双主多从 - 原理
- 在主库上把数据更改(DDL DML DCL)记录到二进制日志(Binary Log)中。
- 备库I/O线程读取主库二进制日志,将主库上的日志复制到自己的中继日志(Relay Log)中。
- 备库SQL线程读取中继日志中的事件,将其重放到备库数据库之上。
实验
准备环境
全新服务器-互相通信
全新安装mysql- 分别安装的
配置域名解析
注意:不能克隆已经安装的数据,需IP不相同
Master1:10.18.41.54 192.168.142.149 systemctl start mysqld
Master2:10.18.41.55 192.168.142.150 systemctl start mysqld
slave1:10.18.41.56 192.168.142.151 systemctl start mysqld
slave2:10.18.41.57 192.168.142.152 systemctl start mysqld 重启服务器
vim /etc/hosts 解析
1. 一主一从(M-S)手动化指定
主:master1
已部署一台全新MySQL服务器,已解析
准备一些数据便于验证
create database master1db;
create table master1db.master1tab(name char(50));
insert into master1db.master1tab values (1111);
insert into master1db.master1tab values (2222);
开启二进制日志
Vim /etc/my.cnf
[mysql]
Server-id=1
Log_bin
systemctl restart mysqld 重启服务器生效
创建复制用户
grant replication slave, replication client on *.* to 'rep'@'192.168.184.%' identified by '123';
用于访问服务器 授权普通账号rep允许访问所有库
备份master数据库的数据
mysqldump -p