MySQL复制优点、原理详解-创新互联

复制是将主数据库的DDL和DML操作通过二进制日志传到从库上,然后再从库重做,从而使得从库和主库保持数据的同步。MySQL可以从一台主库同时向多台从库进行复制,从库同时也可以作为其他从库的主库,实现链式复制。

专注于为中小企业提供做网站、网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业肇东免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了千余家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

MySQL复制的优点:

  • 主库故障,可以快速切换至从库提供服务;
  • 在从库执行查询操作,降低主库的访问压力;
  • 在从库执行备份,避免备份期间对主库影响;

MySQL复制原理

1、MySQL主库在事务提交时会把数据变更作为事件Events记录在Binlog中,主库上的sync_binlog参数控制Binlog日志刷新到磁盘;

2、主库推送Binlog中的事件到从库的Relay Log,之后从库根据Relay Log进行重做,通过逻辑复制来达到主从库的数据一致;

MySQL通过3个线程来完成主从库间的数据复制:其中Binlog Dump线程运行在主库上,I/O线程和SQL线程运行在从库上。当在从库启动复制(Start Slave)时,首先创建I/O线程连接主库,主库随后创建Binlog Dump线程读取数据库事件并发送给I/O线程,I/O线程获取到事件数据后更新到从库的Relay Log中,之后从库上的SQL线程读取Relay Log中更新的数据库事件并应用,

如下图所示:

MySQL复制优点、原理详解

查看主库:

mysql> show processlist\G; 
*************************** 1. row *************************** 
   Id: 3 
  User: root 
  Host: 10.24.33.187:54194 
   db: NULL 
Command: Sleep 
  Time: 176 
 State:  
  Info: NULL 
*************************** 2. row *************************** 
   Id: 4 
  User: root 
  Host: 10.24.33.187:54195 
   db: NULL 
Command: Sleep 
  Time: 176 
 State:  
  Info: NULL 
*************************** 3. row *************************** 
   Id: 8 
  User: root 
  Host: localhost 
   db: test 
Command: Query 
  Time: 0 
 State: starting 
  Info: show processlist 
*************************** 4. row *************************** 
   Id: 12 
  User: repl 
  Host: dsz884.hcg.homecredit.net:39731 
   db: NULL 
Command: Binlog Dump  --Binlog Dump线程 
  Time: 87 
 State: Master has sent all binlog to slave; waiting for more updates --由此可见,以“推送”的方式同步 
  Info: NULL 
4 rows in set (0.00 sec) 
 
ERROR:  
No query specified 

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享文章:MySQL复制优点、原理详解-创新互联
标题链接:http://cdiso.cn/article/shigd.html

其他资讯