概述
主从复制是指将主数据库的DDL和 DML操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),使得从库和主库的数据保持同步。
MySQL 复制的有点主要包含以下三个方面:
1.主库(master)出现问题,可以快速切换到从库(slave)提供服务。
2.实现读写分离,降低主库的访问压力
3.可以在从库中执行备份,以避免备份期间影响主库服务
原理
搭建
主库配置
查看MySQL是否运行
systemctl status mysqld
1.修改配置文件
2.重启MySQL:
systemctl restart mysqld
3.创建远程连接账号
CREATE USER 'itcast'@'%' IDENTIFIED WITH mysql_native_password BY 'Root@123456';
GRANT REPLICATION SLAVE ON *.* TO 'itcast'@'%';
4.查看二进制日志坐标
show master status;
从库配置
1.修改配置文件
2.重启MySQL:
systemctl restart mysqld
3.配置从库(注意是从库)
change master to master_host='192.168.1.12',master_user='itcast',master_password='Root@123456',master_log_file='mysql-bin.000022',master_log_pos=154;
SOURCE_HOST 主库地址
SOURCE_USER 连接主库的用户名
SOURCE_PASSWORD 连接主库的密码
SOURCE_LOG_FLIE 二进制日志文件
SOURCE_LOG_POS 从二进制日志中的哪个位置文件开始读
4.开启同步操作
5.查看同步状态
show reilca status\G; #2.0.22之后
show slave status\G; #2.0.22之前
到此可以使用了!
取消主从复制
1、slave流程
停止slave
stop slave;
清除slave信息
reset slave all;
查看同步状态
show reilca status\G; #2.0.22之后
show slave status\G; #2.0.22之前
重启mysql