一、概念
1.在主库上把数据更改记录存放在二进制日志中(BInary log)
2.备库将主库上的日志复制到自己的中继日志(relay log)中
3.备库读取中继日志中的数据,将其放到自己的数据库上
如图:
二、实验环境
mysql主服务器(master):192.168.11.139 无应用数据
mysql从服务器(slave):192.168.11.140 无应用数据
三、实验操作
1.master、salve服务器端下载mysql
yum -y install mariadb-server mariadb-cliennt
systemctl start mariadb
ss -anput | grep 3306
2.master主服务器上操作
vim /etc/my.cnf
[mysqld]
server-id=1
log-bin=master-bin
relay-log=relay-log
skip_name_resolve
重启服务
systemctl restart mariadb
创建用于AB主从复制的用户账号,并查看master状态的binlog日志文件。
mysql -p(输入密码)
grant replication slave on . to ‘rep’@‘192.168.11.%’ identified by ‘rep’;
show master status;
help change master to;
将模板参数更改如下
CHANGE MASTER TO
MASTER_HOST=‘192.168.11.139’,
MASTER_USER=‘rep’,
MASTER_PASSWORD=‘rep’,
MASTER_PORT=3306,
MASTER_LOG_FILE=‘master-bin.000001’,
MASTER_LOG_POS=958,
MASTER_CONNECT_RETRY=10;
3.在slve从服务器的操作
vim /etc/my.cnf
[mysqld]
server-id=2
log-bin=slave-bin
relay-log=relay-log
skip_name_resolve
重启服务
systemctl restart mariadb
mysql -p(输入密码)
输入:
start slave;
show slave status\G;
两个yes表名实验成功
4.实验测试
首先,在salve主服务器(192.168.11.139)上创建一个名称为db1的库,并查库。
mysql -p(输入密码)
create database db1;
show databases;
SHOW PROCESSLIST;
在master从服务(192.168.11.140)器查库