主从复制原理
MySQL Replication是一个从Master复制到一台或多台Slave的异步复制过程。
Master和Slave之间实现整个复制过程主要由三个线程来完成,其中一个IO线程在Master端,两个线程(SQL线程和IO线程)在Slave端。
通过Master服务器打开Binary Log(二进制日志文件)的功能,Slave端从Master端获取该日志信息,然后将二进制文件解析为SQL语句,并完全顺序地执行SQL语句所记录的各种操作。(Slave获取到的二进制文件同时也会写入到自身的Relay Log文件中)
Replication概念
MySQL Replication技术是一个日志复制过程,在复制过程中一台服务器充当主,一台或多台其他服务器充当从服务器;
从服务器到主服务器拉取二进制日志文件,将日志文件解析成相应的SQL语句,然后在从服务器上重新执行一遍主服务器的操作,通过这种方式保证数据的一致性。
主从复制配置步骤:
设置server-id(服务器标识,在一组主从中不能重复)
开启二进制日志并指定二进制日志文件保存的路径
记录bin-log文件和bin-log(position)位置
若不停在Master时,加入全局锁,将需要同步的数据库备份到Slave节点上,解除全局锁
创建用于同步复制的用户
使用change master 在Slave和Master建立连接(Slave节点设置主服务器)
启动Slave
检查Slave的状态
Step1:配置master和slave的/etc/my.cnf文件
Step2:手动同步数据库到slave
1、锁定Master的表的写操作(不要退出终端)
2、Master上备份数据库并传到Slave上
3、Slave上创建同步的数据库并导入数据文件
Step3:Master创建同步的用户
1、Master解除锁定
2、创建同步用户
Step4:Slave连接Master,将node1设置为自己的主服务器
1、查看Master的master-log-file文件和position位置
2、Slave上连接Master,并启动slave
3、Slave上查看slave状态(Slave_IO_Running、Slave_SQL_Running和Seconds_Behind_Master)
Step5:测试主从同步功能
1、Master上创建数据库和表
2、Slave上查看是否同步
本文转自 HMLinux 51CTO博客,原文链接:http://blog.51cto.com/7424593/1752364