快速,持续,稳定,傻瓜式
支持Mysql,Sqlserver数据同步

主从数据库

在线QQ客服:1922638

专业的SQL Server、MySQL数据库同步软件

数据库集群和主从数据库之间最本质的区别实际上是数据共享和无共享之间的区别。群集是共享存储。主从复制中没有共享。每台机器都是一个独立且完整的系统。

目录:

首先,什么是主从复制

二,主从复制的作用(强调)

3.主从复制原理(最高优先级)

四,一定要问面试问题干货分析(最重要的一点)

首先,什么是主从复制?

主从复制用于创建与主数据库完全相同的数据库环境,称为从数据库;主数据库通常是准实时业务数据库。

其次,主从复制的作用(好处,或为什么要做主-从)着重!

1.将数据作为备份数据库进行热备份。在主数据库服务器发生故障之后,您可以切换到从数据库以继续工作以避免数据丢失。

2.扩展体系结构。业务量在增加,I/O访问频率过高,无法满足单台计算机的需求。此时,将执行多存储存储,减少磁盘I/O访问的频率,并提高单台计算机的I/O性能。

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

三,主从复制原理(头等大事,面试必须问):

1.数据库具有一个二进制日志二进制文件,该文件记录了所有sql语句。

2.我们的目标是复制主数据库的bin-log文件的SQL语句。

3.让它在中继日志重做日志文件中再次从数据执行这些sql语句。

4.围绕此原理配置以下主从配置

5.操作需要三个线程:

1.binlog输出线程:只要有一个从库连接到主库,主库就会创建一个线程,然后将binlog内容发送到从库。

在从属库中,当复制开始时,从属库将创建两个线程进行处理:

2.从属库I/O线程:在从属库中执行START SLAVE语句时,从属库创建一个I/O线程,该线程连接到主库并请求主库在其中发送更新记录。 binlog到从库上。从库I/O线程读取主库的binlog输出线程发送的更新,并将这些更新复制到本地文件,包括中继日志文件。

3.库中的SQL线程:从库中创建一个SQL线程,该线程读取从库I/O线程写入中继日志的更新事件,并执行该事件。

可以知道,对于每个主从复制连接,都有三个线程。具有多个从属库的主库为连接到该主库的每个从属库创建一个binlog输出线程。每个从属库都有自己的I/O线程和SQL线程。

主从复制如图所示:

说明

原则2,帮助理解!

>

步骤1:将主数据库db的更新事件(更新,插入,删除)写入binlog

步骤2:从库启动连接并连接到主库

步骤3:此时,主库创建一个binlog转储线程,并将binlog的内容发送到从属库

步骤4:从库启动后,创建一个I/O线程,读取从主库传递来的binlog的内容,并将其写入中继日志。

步骤5:还将创建一个SQL线程,以从中继日志中读取内容,从Exec_Master_Log_Pos位置执行读取更新事件,并将更新内容写入从数据库。

四,面试问题的干货分析(如果您询问数据库的主从问题,则必须提出以下问题):

1.主站和从站的优点是什么?

2.主从原理是什么?

3.您了解从数据库读取的延迟吗?怎么解决?

4.如果主服务器在主服务器和从服务器之后挂起,该怎么办?

相关推荐

咨询软件
 
QQ在线咨询
售前咨询热线
QQ1922638