使用mysql布置主从复制时,主机与从机的链接原理是什么?

主从复制的链接模式是什么?

主从复制的实现原理是什么?

比如一台主机上,执行一个写操作后,数据发生了变化,这时候从机上是如何同步更新的?


添加解决方案

MySQL主从复制的基础是主服务器对数据库修改记录二进制日志,从服务器通过主服务器的二进制日志自动执行更新。


Mysql主从复制的工作原理

1、基于语句的复制:主服务器上面执行的语句在从服务器上面再执行一遍,在MySQL-3.23版本以后支持。

存在的问题:时间上可能不完全同步造成偏差,执行语句的用户也可能是不同一个用户。

2、基于行的复制:把主服务器上面改编后的内容直接复制过去,而不关心到底改变该内容是由哪条语句引发的,在MySQL-5.0版本以后引入。

存在的问题:比如一个工资表中有一万个用户,我们把每个用户的工资+1000,那么基于行的复制则要复制一万行的内容,由此造成的开销比较大,而基于语句的复制仅仅一条语句就可以了。

3、混合类型的复制:MySQL默认使用基于语句的复制,当基于语句的复制会引发问题的时候就会使用基于行的复制,MySQL会自动进行选择。

在MySQL主从复制架构中,读操作可以在所有的服务器上面进行,而写操作只能在主服务器上面进行。主从复制架构虽然给读操作提供了扩展,可如果写操作也比较多的话(多台从服务器还要从主服务器上面同步数据),单主模型的复制中主服务器势必会成为性能瓶颈。


详细内容可以查看:https://segmentfault.com/a/1190000008942618