Innodb Cluster 入门(3) Mysql主从复制

Mysql主从复制

Mysql 复制类型
1. 基于Master Binary Log 复制事件的主从复制
2. 基于GTID事务的复制

Mysql 同步类型
1. 异步复制
2. 同步复制
3. 半同步复制
4. 延迟复制

异步复制
1. 异步复制是Master-Slave结构。唯一的Master和多个Slave。
2. Master接受Slave的连接请求,将Binary Log 的变化发送给Slave。
3. Slave接收1份完整的Binary Log,不同的Slave根据自己的配置决定执行Binary Log中的全部或部分事件。

复制线程
1. Binlog dump thread. Master服务器创建一个常驻线程,将Binary Log的内容发送给Slave服务器。
2. Slave I/O thread. 执行start slave命令后,Slave创建该线程连接Master,向Master请求发送Binary日志,并将接收到的内容写入本地的relay log。
3. Slave SQL thread. Slave创建该线程读取relay log,并且执行其中的事件。

配置 Replication Master
1. 配置my.cnf: log-bin=mysql-bin server-id=x
2. restart server

创建复制账户
在Master服务器上执行:
1. CREATE USER ‘repl’@’%’ IDENTIFIED BY ‘password’;
2. GRANT REPLICATION SLAVE ON *.* TO ‘repl’@’%’;

获取日志同步点
在Master上执行: FLUSH TABLES WITH READ LOCK;
在Master上建立1个新的连接,执行并记录: SHOW MASTER STATUS;
Innodb Cluster 入门(3) Mysql主从复制_第1张图片
在Master上执行mysqldump –all-databases –master-data > file_name
在Master上执行:UNLOCK TABLES;

初始化Slave
1. 在my.cnf中配置:relay-log=mysql-relay-bin server-id=y
2. 启动Slave,附带选项: –skip-slave-start
3. 执行mysql < dump_file,加载master备份数据。

启动Slave
1. 在Slave上执行:CHANGE MASTER TO MASTER_HOST=‘master_host_name’,
MASTER_USER=‘replication_user_name’,
MASTER_PASSWORD=‘replication_password’, MASTER_LOG_FILE=‘recorded_log_file_name’, MASTER_LOG_POS=recorded_log_position;
2.在Slave上执行:START SLAVE;

Replication Channel
1. mysql 5.7.6开始支持
2. 数据库可以有多个复制通道

你可能感兴趣的:(数据,mysql)