MySQL基于二进制日志文件进行数据复制。
一台MySQL数据库启用二进制日志后,该数据库会作为Master,将所有操作都会以“事件”的方式记录到二进制文件中,其他数据库作为Slave服务器,通过一个I/O线程与Master服务器保持通信,并监听Master的二进制日志文件变化,如果文件发生拜年话,则会同步到自己的中继日志中,然后Slave另一个SQL线程会将相关的“事件”在本地数据库上执行,实现主从数据库的一致性,从而实现主从复制。
实现MySQL主从复制的操作:
Master:
开启二进制日志
配置唯一的server-id
获得Master二进制文件名及路径
创建一个MySQL用户,用于与Slave通信
Slave:
配置唯一的server-id
使用Master分配的用户账户读取Master二进制日志
启用Slave服务