Skip to content

Changes in AliSQL 5.6.32 (2016 12 25)

Fungo Wang edited this page Dec 22, 2016 · 2 revisions

AliSQL 5.6.32 Release Notes (2016-12-25)

Abstract

AliSQL Christmas Release included several important features;
Firstly about upgrading, with gtid mode we supply a way to replicate from lower version, such as 5.1/5.5 version, through that, it will be very convenient to upgrade onto 5.6 version.
Secondly about replication, based on schema level parallel replication, we supply another option, as table level to improve the parallelism, effectively decrease slave delay.
At last, it is a new SET command to modify executed_gtid_set dynamically.

Functionality Added or Changed

1. Supply a way to upgrade MySQL instance to gtid mode

Description:
Gtid_mode enabled slave instance can replicate from gtid_mode disabled master instance, such as MySQL 5.1/5.5. With that it is convenient to upgrade MySQL 5.6 gtid version from lower version.

Parameters:

  1. anonymous_in_gtid_out_enable

    System Variable Name anonymous_in_gtid_out_enable
    Variable Scope global
    Dynamic Variable YES
    Permitted Values [OFF, ON]
    Default OFF
    Description If ON, gtid_mode enabled slave instance can replicate from gtid_mode disabled.

Usage:

no

2. support MTS distributing in table level

Description:

MySQL 5.6 introduce Multi-Threaded Slaves(MTS) which significantly improved replicating capability of slave. However, the original MTS only support distributing in schema level, which limits the parallelism of worker threads.

For example, if all updates on master is under one schema, there will be only one worker applying events, and degenerate to single thread replication.

To solve this problem, we add a new distributing level, table mode. In the new mode, events can be distributing to different workers as long as different tables is involved.

A new global option "slave_pr_mode" is introduced, which can be configured as:

  1. schema, distributing in schema mode, same as original;
  2. table, distributing in table mode.

Note: if changed dynamically, please remember to restart SQL thread, i.e. "stop slave sql_thread; start slave sql_thread", to make the changes take effect.

Parameters:

  1. slave_pr_mode

    System Variable Name slave_pr_mode
    Variable Scope global
    Dynamic Variable YES
    Permitted Values [SCHEMA, TABLE]
    Default SCHEMA
    Description Replication parallel level

Usage:

no

3. Modify gtid_executed_set dynamically

Description:
User with super privileges can add other gtid_set(we call it ADD_SET) to gtid_executed_set. This command will also write and rotate binlog. If something is wrong when write binlog or rotate file, the change of gtid_executed_set will rollback, that ADD_SET will be removed from gtid_executed_set.

Parameters:

no

Usage:

SET EXECUTED_GTID_SET "00000000-0000-0000-0000-000000000000:1"