mysql中binlog有几种模式

这篇文章将为大家详细讲解有关MySQL中binlog有几种模式,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

目前创新互联已为数千家的企业提供了网站建设、域名、网站空间成都网站托管、企业网站设计、吉隆网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

1、statement level模式,每一条会修改数据的sql都会记录到master的bin-log中。

slave在复制的时候sql进程会解析成和原来master端执行过的相同的sql来再次执行。

statement level下的优点,首先就是解决了row level下的缺点,不需要记录每一行数据的变化,减少bin-log日志量,节约io,提高性能。因为他只需要记录在master上所执行的语句的细节,以及执行语句时候的上下文的信息。

2、rowlevel模式,日志中会记录成每一行数据被修改的形式。

在slave端再对相同的数据进行修改。bin-log中可以不记录执行的sql语句的上下文相关的信息,仅仅只需要记录那一条记录被修改了,修改成什么样了。所以row level的日志的内容会非常清楚的记录下每一行数据修改的细节。而且不会出现某些特定情况下的存储过程,或function,以及trigger的调用和触发无法被正确复制的问题。

3、mixed模式是前两种模式的结合。

在mixed模式下,mysql会根据执行的每一条具体的sql语句来区分对待记录的日志形式,也就是在statement和row之间选一种。

关于“mysql中binlog有几种模式”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


文章题目:mysql中binlog有几种模式
转载来于:http://ybzwz.com/article/igcoso.html