MySQL A、B复制:深入理解复制原理(mysqlab复制)

MySQL A/B复制是一种可用于数据库高可用性的复制技术,它使主数据库(A)的数据能够复制到另一台服务器(B)上,这样就能够构建一个可供生产使用的备用服务器(B),以防主服务器(A)出现任何意外场景时,能够快速失效迁移,新服务器(B)就能够取代主服务器(A),提供服务。

MySQL A/B复制使用Master-Slave原理,一旦主库(A)出现问题,从库(B)就会接管生产环境,这种复制实现需要使用MySQL 5.7.17版本及以上,更高版本MySQL支持GTID复制,使用GTID可以更加简单的实现相关复制机制:

A、配置Master数据库

1. 在MySQL的配置文件中加入如下配置:

server_id=1

log_bin=mysql-bin

binlog_format=row

2. 创建复制用户,授权权限:

mysql>CREATE USER ‘repl’@’%’ IDENTIFIED BY ‘123456’;

mysql>GRANT REPLICATION SLAVE ON *.* TO ‘repl’@’%’;

B、配置Slave数据库

1. 同样在MySQL的配置文件中加入如下配置:

server_id=2

log_bin=mysql-bin

binlog_format=row

2. 使用Master上创建的复制用户连接Master,查询Master上binlog位置:

mysql> show master status;

3. 将Slave连接到Master上,让Slave开始复制:

mysql> CHANGE MASTER TO

MASTER_HOST=’192.168.1.1′,

MASTER_USER=’repl’,

MASTER_PASSWORD=’123456′,

MASTER_LOG_FILE=’mysql-bin.000003′,

MASTER_LOG_POS=980;

4. 最后启动Slave并开始复制:

mysql> start slave;

因此,MySQL A/B复制可以非常有效的提高MySQL服务器的可用性,保证系统数据在意外发生时可以快速恢复服务,从而节省宝贵的时间。


数据运维技术 » MySQL A、B复制:深入理解复制原理(mysqlab复制)