一、主从复制具体的过程
-
主库提交完事务后,写入binlog日志
-
从库连接到主库,请求获取binlog日志
-
主库创建一个dump线程,将binlog推送到从库
-
从库开启一个IO线程读取同步过来的binlog,并记录到relay log中继日志中
-
从库再开启一个sql线程读取relay log中的记录,同步到数据库中
-
从库记录自己的binlog日志
二、配置步骤
准备好两台服务器,在两台服务器中分别安装好MySQL,并完成基础的初始化工作,并关闭防火墙
1、主库配置:
(1)、修改配置文件 /etc/my.cnf
server-id=1
read-only=0
(2)、重启MySQL服务器
systemctl restart mysqld
(3)、登录mysql,创建远程连接账号,并授予主从复制权限
CREATE USER 'itcast'@'%'IDENTIFIED WITH mysql_native_password BY 'Root@123456';
GRANT REPLICATION SLAVE ON *.* TO 'itcast'@'%';
(4)、通过指令,查看二进制日志坐标
show master status;
2、从库配置:
(1)、修改配置文件 /etc/my.cnf
server-id=2
read-only=1
(2)、重启MySQL服务器
systemctl restart mysqld
(3)、登录MySQL,设置主库配置
CHANGE REPLICATION SOURCE TO SOURCE_HOST='192.168.229.129',SOURCE_USEER='itcast',SOURCE_PASSWORD='Root@123456',SOURCE_LOG_FILE='binlog.000003',SOOURCE_LOG_POS=656;
(4)、开启同步操作
start replica;
(5)、查看主从同步状态
show replica status\G
Replica_IO_Runing、Replica_SQL_running都为yes,说明主从复制是正常的,到这里MySQL主从复制就配置好啦。