最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Mysql不同主从格式(ReplicationFormats)的区别_MySQL

来源:动视网 责编:小采 时间:2020-11-09 19:06:41
文档

Mysql不同主从格式(ReplicationFormats)的区别_MySQL

Mysql不同主从格式(ReplicationFormats)的区别_MySQL:bitsCN.com Mysql之所以可以实现主从服务器之间的同步,是因为主服务器端的事件(events)写到了 binary log 中,然后在从服务器上再次执行这些事件。事件写入BINLOG中,主要有以下三种格式:1、基于语句的记录(Statement-Based Rep
推荐度:
导读Mysql不同主从格式(ReplicationFormats)的区别_MySQL:bitsCN.com Mysql之所以可以实现主从服务器之间的同步,是因为主服务器端的事件(events)写到了 binary log 中,然后在从服务器上再次执行这些事件。事件写入BINLOG中,主要有以下三种格式:1、基于语句的记录(Statement-Based Rep


bitsCN.com

Mysql之所以可以实现主从服务器之间的同步,是因为主服务器端的事件(events)写到了 binary log 中,然后在从服务器上再次执行这些事件。

事件写入BINLOG中,主要有以下三种格式:

1、基于语句的记录(Statement-Based Replication)
就是将主服务器上执行的语句记录下来,在从服务器上再次执行一遍。在MYSQL 5.1.4之前,只有这一种方式;

这种类型的优点包括:

A、从3.23版本以来,MYSQL只有这一种类型,所以这种类型已经被实践所证实;

B、写入BINLOG的数据相对来说少一些,特别是更新很多行的语句,不用把每行的变化记录下来;

C、所有更改数据库的语句都会被记录下来,可以用来监督数据库。

这种类型的缺点也很明显,是一种不“安全”的记录方式:

A、不能更新不缺定地行;比如UPDATE语句中有不加ORDER的LIMIT;

B、

LOAD_FILE()
UUID(), UUID_SHORT()
USER()
FOUND_ROWS()
SYSDATE() (unless both the master and the slave are started with the --sysdate-is-now option)
GET_LOCK()
IS_FREE_LOCK()
IS_USED_LOCK()
MASTER_POS_WAIT()
RAND()
RELEASE_LOCK()
SLEEP()
VERSION()

比如,使用SBR(STATEMENT-BASED REPLICATION)同步这条语句:

update table set column=uuid() limit 2
更新后,这两条记录主服务器端该字段的值为:

45734358-9df1-11e3-b0fd-782bcb74f37e

从服务器端的值:

3fa4171e-9df0-11e3-a0e5-782bcb74f37e

C、比基于行的方式需要更多地行级锁;

2、基于行的记录(Row-Based Replication)

就是将主服务器上对每一行的修改记录下来,然后在从服务器上实现之;

这个类型的优势:

A、是一种安全的方式,也就是说能够准确无误地同步主服务器的内容,比如上面那个例子使用RBR(ROW-BASED REPLICATION)的结果:

主服务器和从服务器端均为:

b290f3a0-9df5-11e3-b0fd-782bcb74f37e

B、需要锁行的数量很少

这个类型的缺点就是:

A、需要记录的内容太多,如果一条语句更新了一个几千万条数据的,那就会记录几千万条BINLOG……

B、如果一些生成的变量很庞大,比如BLOB类型,会使得记录很庞大

C、无法知道当前哪条语句在执行,无法监督主从进度

3、混合类型记录(Row-Based Replication)

就是上述两种都有,系统会实时选择合适的类型来记录主服务器的记录。

bitsCN.com

文档

Mysql不同主从格式(ReplicationFormats)的区别_MySQL

Mysql不同主从格式(ReplicationFormats)的区别_MySQL:bitsCN.com Mysql之所以可以实现主从服务器之间的同步,是因为主服务器端的事件(events)写到了 binary log 中,然后在从服务器上再次执行这些事件。事件写入BINLOG中,主要有以下三种格式:1、基于语句的记录(Statement-Based Rep
推荐度:
标签: 服务器 mysql 主从
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top