MySQL高性能主从复制系列之基础知识部分

对于大部分的企业来说,如果使用的是MySQL数据库来保存数据的话,利用MySQL的主从复制特征已经能够满足全部业务需求了,下面我们就来聊聊MySQL主从复制里面的基础知识部分,为后面的学习课程打下坚实的基础。

MySQL主从复制是什么?

MySQL高性能主从复制系列之基础知识部分

从上面的图,我们能够看到,所谓主从复制其实就是一个或者多个MySQL扮演从的身份,通过一定的机制不断的从MySQL主数据库复制所需要的数据到自己的数据库里面,以方便之后读数据的时候从我们的从服务器进行读取,从而减少主服务器的MySQL连接数和读压力,从而提高我们数据库的性能,也就是说,主从复制之所以能够提高数据库的性能,主要是将之前主的读压力分担到我们的从服务器,至于怎么分,后面的文章会介绍。

MySQL的主从复制能够复制什么?

MySQL高性能主从复制系列之基础知识部分

从前面我们知道,不管是主MySQL还是从MySQL,他们都是一样的数据库,都是完整的MySQL数据库,唯一区别的是,一个是以主的角色出现,一个是以从的角色出现而已,所以,主从之间其实复制的还是数据本身,比如主的某个数据库或者几个数据库,某个表或者几个表等,而至于复制什么数据,我们之后会详细说明的。

MySQL的复制模式有那些?

目前MySQL提供了三种复制模式,异步复制,半同步复制和延迟复制。

异步复制:主MySQL写入日志到二进制文件,并且从MySQL获取这些二进制文件里面的内容,然后进行回放操作完成数据复制,由于不能够保证日志文件数据成功到从服务器,所以这种方式很容易导致从服务器上和主服务器上的数据不一致,这些二进制文件保存的不外乎就是在主MySQL上执行的delete、update、insert等等语句。

半同步复制:这是MySQL5.7引入的一个新特征,就是主MySQL仅仅等待一个从服务器收到事件日志,并不等到执行完成。

延迟复制:这是MySQL5.7引入的一个新特征,即当主MySQL将一个事件发送到从服务器的时候,从服务器并不会立即执行,而是直到指定的N秒之后才开始执行这个操作。

MySQL高性能主从复制系列之基础知识部分

同步复制:这是MySQL集群里面的特征,我们之后说MySQL集群的时候再讨论这个。

MySQL的异步复制的注意事项

由于是异步复制,所以在程序里面对于立即插入之后需要获取数据的情况,需要特别注意,否则会导致读取不了新插入数据的问题,也就是说在这种情况下,需要关闭主从复制,以显示最新插入的数据。

对于基础知识部分,如果大家有什么不理解的地方,可以在评论里面提出来,如果觉得还不错,请点赞或者分享给你的朋友,以鼓励我不断前进。

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: