Heim  >  Artikel  >  Datenbank  >  MySQL 5.6同步复制新特性详解

MySQL 5.6同步复制新特性详解

WBOY
WBOYOriginal
2016-06-07 17:18:34908Durchsuche

继5.5半同步复制后,MySQL 5.6又对其进行了优化与改进,其中有两个地方较为重要:对运维人员来说应该是一件大喜的事情,在主从切

继5.5半同步复制后,MySQL 5.6又对其进行了优化与改进,其中有两个地方较为重要:

1、对运维人员来说应该是一件大喜的事情,在主从切换后,在传统的方式里,你需要找到binlog和POS点,然后change master to指向,而不是很有经验的运维,往往会将其找错,造成主从同步复制报错,在mysql5.6里,你无须再知道binlog和POS点,你只需要知道master的IP、端口,账号密码即可,因为同步复制是自动的,mysql通过内部机制GTID自动找点同步。

2、多线程复制基于库。之前的版本,同步复制是单线程的,队列的,只能一个一个执行,在5.6里,可以做到多个库之间的多线程复制,例如yourDB库里,存放着用户表,商品表,价格表,订单表,那么将每个业务表单独放在一个库里,,这时就可以做到多线程复制,但一个库里的表,多线程复制是无效的。

新的名词解释:

server_uuid:服务器身份ID。在第一次启动Mysql时,会自动生成一个server_uuid并写入到数据目录下auto.cnf文件里,官方不建议修改。

并且server_uuid跟GTID有密切联系。

[root@mysql5_6 data]# pwd

/usr/local/mysql/data

[root@mysql5_6 data]# cat auto.cnf

[auto]

server-uuid=b0869d03-d4a9-11e1-a2ee-000c290a6b8f

GTID:全局事务标识符。当开始这个功能时,每次事务提交都会在binlog里生成一个唯一的标示符,它由UUID和事务ID组成。首次提交的事务ID为1,第二次为2,第三次为3,依次类推。

查看binlog,会看到如下:

开启GTID时,slave在做同步复制时,无须找到binlog日志和POS点,直接change master to master_auto_position=1即可,自动找点同步。

linux

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn