天天看点

MySQL Replication主从复制—(实例)

主从复制原理

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