概述:
主从复制是指将主数据库的DDL和DML操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。
MySQL支持一台主库同时向多台从库进行复制,从库同时也可以作为其它从服务器的主库,实现链状复制。
MySQL复制的优点包含以下三个方面:
1、主库出现问题,可以快速切换到从库提供服务。
2、实现读写分离,降低主库的访问压力。
3、可以在从库中执行备份,以避免备份期间影响主库服务。
MySQL主从复制的原理:
分为三步:
1、master主库在事物提交时,会把数据变更记录到二进制文件binlog(二进制日志)中。
2、从库读取主库的二进制日志文件binlog,写入到从库的中继日志Relay Log。
3、salve从库重做中继日志中的事件,将改变反映它自己的数据。
实验演示:
主服务器和从服务器都要有的操作,放行防火墙端口(或者关闭防火墙):
1、搭建主服务器:
(1)首先配置域名解析:
(2)可以将相同的hosts文件复制到从服务器上:
(3)开启主服务器的二进制日志,并设置server-id。然后重启服务。
(4)在主服务器上创建复制用户haha,并给权限。
(5)使用命令备份主服务器上的数据,并将备份文件复制到从服务器上:
(6)观察备份文件中的日志分割点:
2、搭建从服务器:
(1)在从服务器上,使用‘复制用户haha’登录mysql,测试用户是否可用。
(2)启动从服务器序号:
(3)手动同步数据:
(4)设置主服务器:(里面要写刚才观察到的日志分割点)
(5)启动从设备:
(6)查看启动状态:
3、验证实验结果:
在主服务器上新建数据库和数据表,在从服务器上检查是否有。
主服务器:
从服务器: