数据库同步工具
sqlserver,Mysql数据同步软件

Mysql主从复制作用和工作原理详解

购买事宜请联系QQ:1793040

首先,什么是主从复制

主从复制用于创建与主数据库完全相同的数据库环境,称为从数据库。主数据库通常是准实时业务数据库。在最常用的mysql数据库中,支持单项和异步分配。在分配过程中,一台服务器充当主服务器,另一台服务器充当从属服务器;此时,主服务器将更新信息写入特定的二进制文件。

并维护文件索引以跟踪日志周期。可以记录此日志并将其从服务器发送到更新。当从服务器连接到主服务器时,从服务器通知主服务器从从服务器的日志文件中读取上一次成功更新的位置。然后,从属服务器将从那一刻开始接收任何更新,然后锁定并等待主服务器通知新的更新。

其次,主从复制的作用

一是确保数据安全;二是确保数据安全。作为数据的热备份,作为备份数据库,在主数据库服务器发生故障后,您可以切换到从数据库以继续工作以避免数据丢失。

第二是提高I/O性能;随着日常生产的业务量越来越大,I/O访问频率越来越高,单机无法满足。 O访问的频率提高了单个设备的I/O性能。

第三是读写分离,以便数据库可以支持更大的并发性;在报告中尤其重要。一些报告的SQL语句非常慢,这会导致锁定表并影响前台服务。如果前台使用主服务器,而报表使用从服务器,则报表sql不会导致前台锁定,从而确保前台速度。

三,主从复制的原理

主从复制中涉及的文件

主库:binlog

来自图书馆:

  • relaylog中继日志
  • master.info主库信息文件
  • relaylog.info relaylog应用程序信息

主从复制中涉及三个线程

主库:

Binlog_Dump线程:

来自图书馆:

SLAVE_IO_THREAD

SLAVE_SQL_THREAD

具体原理如图所示:

1.从数据库执行将master更改为命令(master数据库的连接信息+复制起点)

2.以上信息将从数据库记录到master.info文件中

3.从数据库执行start slave命令,并立即启动两个线程SLAVE_IO_THREAD和SLAVE_SQL_THREAD

4.从数据库SLAVE_SQL_THREAD中,读取master.info文件中的信息,以获取IP,PORT,User,Pass,binlog的位置信息。

5.请求从数据库SLAVE_IO_THREAD连接到主数据库,主数据库提供一个SLAVE_IO_THREAD,负责与SLAVE_SQL_THREAD交互

6.SLAVE_IO_THREAD基于binlog的位置信息从主数据库请求一个新的binlog

7.主数据库将通过网络TP从数据库发送最新的binlog到Binary_DUMP_Thread到SALVE_IO_THREAD

8.SLAVE_IO_THREAD接收新的binlog日志,将其存储在TCP/IP缓存中,立即将ACK返回到主库,并更新master.info

9.SLAVE_IO_THREAD将TCP/IP缓存中的数据转储到磁盘中继日志。

10.SLAVE_SQL_THREAD读取relay.info中的信息,并获取上次应用的Relaylog的位置信息。

11.SLAVE_SQL_THREAD将根据最后一个位置播放最新的中继日志,并再次更新relay.info信息

12.继电器将自动从数据库中清除,以进行定期清洁

一旦成功建立了主从复制,并且主数据库中发生了新的更改,slave_dump_THREAD将向SLAVE_IO_THREAD发送信号,以增强主从复制的实时性。

以上是本文的全部内容,希望对大家的学习有所帮助,也希望每个人都支持该脚本主页。

您可能感兴趣的文章:

  • MySQL数据库主-从复制延迟时间过长的解决方案
  • MYSQL完全备份,主-从复制,级联复制,半同步摘要
  • 深入了解MySQL主从复制线程状态转换
  • 关于MySQL主从复制注释的说明
  • MySQL配置SSL主从复制
  • li>

  • MYSQL主从复制知识点整理

未经允许不得转载:数据库同步软件|Mysql数据同步软件|sqlserver数据库同步工具|异构同步 » Mysql主从复制作用和工作原理详解

分享到:更多 ()

syncnavigator 8.6.2 企业版

联系我们联系我们