什么是 MySQL的主从同步机制?它是如何实现的?
主从同步机制就是一种数据复制技术,主要是用于将主数据库上的数据,同步到一个或者多个副数据库上。再说说通过binloq记录,再推送到其他数据库,重放binloq实现复制。
是通过一个二进制记录日志,也就是binlog来实现的,当一个事物在执行写操作时,会将这些操作以sql语句的形式记录在binlog中,然后将binlog推送给其他的从数据库,其他的从数据库再通过重放binlog的操作,来实现数据的复制。
主从复制类型
1.异步复制
就是主数据库,并不管从数据库是否确认收到数据,直接进行下一步操作,这种复制类型虽然性能很快,但可能会导致主从数据库数据不一致的情况。
2.同步复制
主数据库推送完binlog后,它等待所有从数据库确认接受到数据,再进行下一步操作,这就保证了主从数据库的一致性,但同时也大大降低了性能。
3.半同步复制。
它是等主数据库推送完binlog之后,主数据库等待其中一个从数据库确认接受到数据,再进行下一步操作,他不需要等待所有数据库确认,这使得它的性能较快,主从数据库的一致性也较高。值得注意的是,这个半同步复制中,可以设定参数来改变主数据库,等待从数据库的数量,比如我们可以设置主数据库等待到三个从数据库确认收到数据后再进行下一步操作。这也是企业中最常使用的复制类型。