保证两台机器的数据库数据相同,若不同则从a机器上备份数据,scp 数据包.tar.gz root@ip地址 /路径/
解压后验证数据
innobackupex --user='root' --password='密码' /存放路径
停止数据库,清理环境(rm -rf /var/lib/mysql/*)
验证 innobackupex --apply-log --redo-only /路径/数据文件/
B机器恢复A机器的数据 innobackupex --copy-back /存放路径/数据包名/
授权数据存储路径 启动数据库
IO 通信
SQL 数据写入
主存复制会在B机器上产生两个文件:
relay-log 将接收到的日志内容依次添加到Slave端的relay-log文件的最末端
master-info 写读取到的Master端的 bin-log的文件名和位置记录到master-info文件中
实验:
master 10.0.0.131
slave 10.0.0.130
修改主机名称
分别为:master和slave:hostnamectl set-hostname master
域名解析
[root@master ~]# vim /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 10.0.0.131 master 10.0.0.130 slave
确保时间与数据库一致
主:master
vim /etc/my.cnf log-bin=/var/log/mysql/master //写自己将binglog日志记录的地方
server-id=1 //ID号需要跟从的配置不一样
gtid_mode=ON enforce_gtid_consistency=1
授权:grant replication slave,super,reload on . to slave@'%' identified by 'Qianfeng123!';
服务 主机名
从:
vim /etc/my.cnf log-bin=/var/lib/mysql/master //写自己将binglog日志记录的地方
server-id=2 //ID号需要跟主的配置不一样
gtid_mode=ON
enforce_gtid_consistency=1
打开slave服务:
change master to master_host='master',master_user='slave',master_password='Qianfeng123!',master_auto_position=1;
A机器的名字 B机器的名字 A的密码
start slave;
show slave status\G Slave_IO_Running:验证io两台机器是否互通
Slave_SQL_Running:验证数据库数据是否出错
验证: 主上写数据 从上面读数据