mysql主从复制原理 mysql支持的复制类型 基于语句的复制: 基于行的复制: 从mysql5.0开始支持混合类型的复制: 默认采用基于语句的复制,一旦发现基于语句的无法精确的复制时,就会采用基于行的复制。 整体上来说,复制有3个步骤: (1)master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events); 下面描述了复制的过程: 该过程的第一部分就是master记录二进制日志。在每个事务更新数据完成之前,master在二日志记录这些改变。 MySQL将事务串行的写入二进制日志,即使事务中的语句都是交叉执行的。在事件写入二进制日志完成后,master通知存储引擎提交事务。
I/O线程在master上打开一个普通的连接,然后开始binlog dump process。 Binlog dump process从master的二进制日志中读取事件,如果已经跟上master,它会睡眠并等待master产生新的事件。I/O线程将这些事件写入中继日志。
只要该线程与I/O线程保持一致,中继日志通常会位于OS的缓存中,所以中继日志的开销很小。
复制过程有一个很重要的**复制在slave上是串行化的,也就是说master上的并行更新操作不能在slave上并行操作。 mysql主从复制的配置 1. 准备工作 有两台MySQL数据库服务器Master和slave,Master为主服务器,slave为从服务器。 初始状态时,Master和slave中的数据信息相同,当Master中的数据发生变化时,slave也跟着发生相应的变化,使得master和slave的数据信息同步,达到备份的目的。 要点: 因此,主服务器必须激活二进制日志功能。从服务器必须具备足以让它连接主服务器并请求主服务器把二进制变更日志传输给它的权限。 环境: 2. master的配置 (1) 创建复制帐号 |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|