MySQL 主从同步是 MySQL 集群打算中的一种,也是成功难度最低的一种。
但是,如今的面试都不问 MySQL 主从同步原理了,而是开局问主从同步怎样保证数据分歧性疑问了。
所以,当天就给大家布置上了。
数据分歧性是指在一个系统中,数据在不同的局部、不同的时期点,以及不同的操作之间坚持分歧的形态。
数据分歧性通常体如今以下几点:
MySQL 主从复制是一种将 MySQL 主数据库的数据,同步到其余的数据库的一种机制,从而成功数据的冗余备份和负载平衡,平行裁减了数据库的查问才干。
主从数据库基本概念:
MySQL 主从复制流程如下:
它的关键口头流程如下:
MySQL 主从同步形式有以下三种:
异步复制自动的主从同步复制形式,在这种形式下, 主主机提交事务后立刻前往客户端,无需期待从主机确认能否成功接纳并运行了事务 ,从主机会在后盾独立地接纳并运行事务日志。
异步同步流程如下(白色局部为关键口头流程):
数据失落疑问 :在主主机缺点的状况下,或者存在数据未齐全同步到从主机的状况,造成数据失落或不分歧。
同步复制是一种最为严厉的复制形式,它要求 主主机在提交一个事务之前,肯活期待一切从主机确认确认接纳到并运行了事务之后,主主机才会向客户端前往事务提交成功的信息 。
同步复制口头流程如下:
半同步复制是一种折衷打算,它联合了异步复制的高性能和同步复制的高牢靠性。在半同步复制形式下,主主机在提交一个事务之前,须要期待至少一个从主机确认接纳到该事务的日志,但不须要期待从主机成功运行。
半同步口头流程如下:
因此, 想要保证数据齐全分歧性须要经常使用同步复制 ,但这会就义必定的性能;因此在消费环境我们可以经常使用半同步保证较好的数据分歧性即可;而自动的异步形式成功最便捷、性能最好,但或者存在数据不分歧的危险,只管出现的概率极低(消费环境也可以经常使用)。