MySQL主从复制环境可以说是一切高可用的基础。它的原理也比较简单,下面我们先来了解下主从复制的原理:
虽然图上一共有7步,可以简化一下帮助记忆和理解:Master上进行改、写操作;
MySQL把修改数据写进binlog;
Slave发起IO thread,把master上新的binlog拉取到本地中继日志中;
重放中继日志,让在master上面的修改、新增操作在Slave本机上重新运行一遍;
Slave按照正常的操作也会把操作写进本地的binlog。
硬件环境
本人有阿里云、腾讯云各一台屌丝机,因此用来试验,为保护隐私,把ip已经替换了,但不影响操作。主机ip端口版本主从阿里云192.168.1.1003306MySQL5.7.14Master
腾讯云192.168.1.2003306MySQL5.7.18Slave
Master上设置
开启binlog设置server-id
在/etc/my.cnf中的mysqld选项下编辑,然后重启[mysqld]
log-bin=mysql-bin
server-id=1003306/etc/init.d/mysql restart
创建复制专用账号mysql> CREATE USER 'repl'@'%.mydomain.com'