现在的位置: 首页 > 综合 > 正文

mysql主从备份

2018年03月18日 ⁄ 综合 ⁄ 共 692字 ⁄ 字号 评论关闭

一.mysql主从备份(复制)的基本原理

       mysql支持单向、异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。mysql复制基于主服务器在二进制日志中跟踪所有对数据库的更改(更新、删除等等)。因此,要进行复制,必须在主服务器上启用二进制日志

       mysql备份由从服务器发起,当从服务器连接到主服务器时,通知主服务器自己最后一次读取成功并进行了备份的日志位置,然后等待主服务器发起后续的更新。从服务器接收从那时起发生的任何更新,并在本机上执行相同的更新。然后封锁并等待主服务器通知新的更新。从服务器执行备份不会干扰主服务器,在备份过程中主服务器可以继续处理更新。

       备份服务器可以作一个备份链。

二.主从备份的实现细节
        mysql使用3个线程来执行复制功能(其中1个在主服务器上,另两个在从服务器上)。

        当发出start slave时,从服务器创建一个I/O线程,以连接主服务器并让它发送记录在其二进制日志中的语句。

       主服务器创建一个线程将二进制日志中的内容发送到从服务器。该线程可以即为主服务器上show processlist输出中的Binlog Dump线程。

       从服务器I/O线程读取主服务器Binlog Dump线程发送的内容并将该数据拷贝到从服务器数据目录中的本地文件中,即中继日志(relay

 log )。第3个线程是sql线程,由从服务器创建,用于读取中继日志并执行日志中包含的更新。在从服务器上,读取和执行更新语句被分成两个独立的任务。当从服务器启动时,其I/O线程可以很快地从主服务器索取所有二进制日志内容。


【上篇】
【下篇】

抱歉!评论已关闭.