This topic describes changes to AliSQL.

ApsaraDB RDS for MySQL 8.0

20191115

New feature:

Statement Queue: Bucket-level queuing is supported. Statements that request the same resources are queued in one bucket to reduce overheads.

20191101

  • New features:
    • The SM4 encryption algorithm is supported for Transparent Data Encryption (TDE).
    • Protection for information of secondary instances is supported. Only accounts with the SUPER or REPLICATION_SLAVE_ADMIN role have permissions to insert, delete, or modify data in the slave_master_info, slave_relay_log_info, and slave_worker_info tables.
    • A mechanism is introduced to increase the priorities of auto-increment keys. If a table does not have a primary key or a unique key without a null value, the auto-increment key without a null value has the highest priority.
    • A mechanism is introduced to prevent the automatic conversion of the system tables and tables called by threads in the initializing state from the MEMORY to MyISAM storage engines.
    • A mechanism is introduced to flush binary log files to disks before redo log files.
    • A mechanism is introduced to update temporary tables when the ApsaraDB RDS for MySQL instance where the temporary tables are housed is locked.
    • X-Engine is provided to store transactions based on a log-structured merge tree (LSM tree).
  • Performance optimization:
    • Thread pool: This feature is optimized to reduce mutual exclusions (mutexes).
    • Performance Insight: This feature is optimized to monitor thread pools.
    • Parameter adjustment:
      • primary_fast_lookup: a session parameter. Default value: true.
      • thread_pool_enabled: a global parameter. Default value: true.

20191015

  • New features:
    • TDE: Real-time I/O encryption and decryption on data files are supported. Data is encrypted before it is written onto disks and is decrypted before it is read from disks to the memory.
    • Returning: Result sets can be returned by data manipulation language (DML) statements. The DBMS_TRANS package is provided to trace the execution of statements.
    • Forced conversion of the storage engine from MyISAM or MEMORY to InnoDB: If the global variable force_memory/mysiam_to_innodb is set to ON, the storage engine used is converted from MyISAM or MEMORY to InnoDB when tables are created or modified.
    • Restriction of permissions on primary/secondary switchovers: Only privileged accounts have permissions to switch over services between primary and secondary instances.
    • Performance proxy plug-in: This plug-in is provided to obtain performance data and save it as TXT files to your computer. The performance data files on your computer are deleted by using a round-robin algorithm. Only the latest second-level performance data files are retained.
    • Configurable timeout period of mutexes in InnoDB: This timeout period can be changed by setting the global variable innodb_fatal_semaphore_wait_threshold. The default value of the global variable is 600.
    • Ignoring index hint errors: Index hint errors can be ignored by setting the global variable ignore_index_hint_error. The default value of the global variable is false.
    • Disabling SSL encryption: For more information, see Configure SSL encryption for an RDS for MySQL instance.
    • TCP error output: TCP errors in read, read-wait, and write-wait events along with their corresponding error codes are returned by using end_connection events, and logs with information about the errors are generated.
  • Bugs fixed:
    • The bug that prevents a Linux operating system from merging local asynchronous I/O (AIO) requests before linear Read Ahead is triggered is fixed.
    • The bug that prevents the proper collection of table and index statistics is fixed.
    • The bug that prevents the system direct access to the primary key index of a table with a primary key is fixed.

20190915

Bug fixed:

The bug that causes memory leakage when the Cmd_set_current_connection process runs is fixed.

20190816

  • New features:
    • Thread pool: Threads are separated from sessions. If a large number of sessions exist, the system only needs to run a small number of threads to complete the active sessions.
    • Statement concurrency control: The maximum number of concurrent requests can be specified to handle traffic bursts, process statements that consume excessive resources, and adapt to changes of SQL models. This ensures the continuity and stability of your ApsaraDB RDS for MySQL instance.
    • Statement outline: Optimizer hints and index hints are used to stabilize the execution of planned statements by your ApsaraDB RDS for MySQL.
    • Recycle bin: Deleted tables are transferred to the recycle bin. These tables can be retrieved from the recycle bin before the retention period elapses.
    • Sequence engine: The mechanism used to obtain sequence values is simplified.
    • Purge Large File Asynchronously: Asynchronous deletion of files is supported. Before you delete a tablespace, the system renames its files as temporary files. Then, a background thread is started to delete these temporary files asynchronously.
    • Performance Insight: Instance-level load monitoring, association analysis, and performance optimization are supported. This feature helps you evaluate the loads of your ApsaraDB RDS for MySQL instance and locate performance problems to ensure database stability.
    • Optimized instance locking: Tables can be dropped or truncated even if your ApsaraDB RDS for MySQL instance is locked.
  • Bugs fixed:
    • The bug that prevents the system from correctly calculating file sizes is fixed.
    • The bug that allows irrelevant processes to reuse the memory resources released by your ApsaraDB RDS for MySQL is fixed.
    • The bug that causes the host to break down when the cache size is 0 is fixed.
    • The bug that causes conflicts between implicit primary keys and CTS statements is fixed.
    • The bug that prevents the system from correctly logging slow queries is fixed.

20190601

  • Performance optimization:
    • Metadata locking on logging tables is reduced.
    • The code for termination options is restructured.
  • Bugs fixed:
    • The bug that prevents the system from logging precompiled statements by using SQL audit is fixed.
    • The bug that prevents the system from filtering out error logs from logging tables with invalid names is fixed.

ApsaraDB RDS for MySQL 5.7 in Basic or High-availability Edition

20191115

Bug fixed:

The bug that causes the system to display variables in SQL audit logs generated from primary/secondary switchovers is fixed.

20191101

  • New features:
    • The SM4 encryption algorithm is supported for TDE.
    • A mechanism is introduced to allow the system direct access to the primary key index of a table with a primary key.
    • A mechanism is introduced to prevent the automatic conversion of the system tables and tables called by threads in the initializing state from the MEMORY to MyISAM storage engines.
  • Performance optimization:
    • Thread pool: This feature is optimized to reduce mutexes.
    • SQL Audit Log: This feature is optimized to store SQL audit logs in a cache, which increases SQL audit logging performance.
    • Performance Insight: This feature is optimized to monitor thread pools.
    • Enabling Thread Pool by default: For more information, see Thread pool.
  • Bugs fixed:
    • The bug that prevents the release of locks on user tables while these tables are being managed or maintained is fixed.
    • More TCP errors are added.

20191015

  • New features:
    • Rotation of slow query logs: Every CSV slow query log file is assigned a unique name and a new file. This ensures that no data is lost during the collection of slow query logs. You can run the show variables like '%rotate_log_table%'; command to check whether rotation of slow query logs is enabled.
    • Performance proxy plug-in: This plug-in is provided to obtain performance data and save it as TXT files to your computer. The performance data files on your computer are deleted by using a round-robin algorithm. Only the latest second-level performance data files are retained.
    • Forced conversion of the storage engine from MEMORY to InnoDB: If the global variable rds_force_memory_to_innodb is set to ON, the storage engine used is converted from MEMORY to InnoDB when tables are created or modified.
    • Optimized TDE: The keyring-rds plug-in is provided to enable communication with the administration system or Alibaba Cloud Key Management Service (KMS).
    • TCP error output: TCP errors in read, read-wait, and write-wait events along with their corresponding error codes are returned by using end_connection events, and logs with information about the errors are generated.
  • Bug fixed:

    The bug that causes error 1290 in data definition language (DDL) operations is fixed.

20190925

Parameter adjustment:

  • The default value of the system variable auto_generate_certs is changed from true to false.
  • The global read-only variable auto_detact_certs is added. Valid values: true | false. Default value: false. This variable is available if code is compiled by using OpenSSL on the server. It specifies whether the server automatically searches for SSL encryption certificate and key files in the data directory.

20190915

New feature:

Thread pool: Threads are separated from sessions. If a large number of sessions exist, the system only needs to run a small number of threads to complete the active sessions.

20190815

  • New features:
    • Purge Large File Asynchronously: Asynchronous deletion of files is supported. Before you delete a tablespace, the system renames its files as temporary files. Then, a background thread is started to delete the temporary files asynchronously.
    • Performance Insight: Instance-level load monitoring, association analysis, and performance optimization are supported. This feature helps you evaluate the loads of your ApsaraDB RDS for MySQL instance and locate performance problems to ensure database stability.
    • Optimized instance locking: Tables can be dropped or truncated even if your ApsaraDB RDS for MySQL instance is locked.
  • Bugs fixed:
    • The bug that enables you to set the rds_prepare_begin_id option in the set rds_current_connection command is fixed.
    • The bug that prevents the system from updating information about locked accounts is fixed.
    • The bug that allows you to use actual as a keyword in table names is fixed.
    • The bug that causes an overflow of time fields in slow query logs is fixed.

20190510

New feature: Creation of temporary tables during transactions is supported.

20190319

New feature: Configuration of thread IDs in handshake packets is supported.

20190131

  • Upgrade to MySQL 5.7.25 is supported.
  • Disabling of JeMalloc is supported. JeMalloc is used for memory management.
  • The bug that prevents the system from correctly calculating the internal variable net_lenth_size is fixed.

20181226

  • New feature: Dynamic changes to the system variable binlog-row-event-max-size are supported to expedite the replication of tables without a primary key.
  • Bug fixed: The bug that prevents the system from applying for memory resources for proxy instances is fixed.

20181010

  • Implicit primary keys are supported.
  • Replication of tables without a primary key between the primary and secondary instances is accelerated.
  • Native AIO is supported to improve I/O performance.

20180431

New features:

  • The High-availability Edition is supported.
  • SQL audit is supported.
  • Protection for instances backed up by using snapshots is enhanced.

ApsaraDB RDS for MySQL 5.7 in Enterprise Edition

20191128

  • New feature:

    Read/write splitting is supported.

  • Bugs fixed:
    • The bug that prevents the system from correctly calculating the value of the Second_Behind_Master metric for a follower is fixed.
    • The bug that causes dead locks during the re-execution of table-level parallel replication transactions is fixed.
    • XA-related bugs are fixed.

20191016

  • New features:
    • Upgrade from the High-availability to Enterprise Editions is available to MySQL 5.7 with local SSDs.
    • The GTID function provided by native MySQL is supported. This function is disabled by default.
    • All AliSQL functions that were developed by Alibaba Cloud and released prior to 20190915 for MySQL 5.7 in the Basic or High-availability Edition are integrated.
  • Bug fixed:

    The bug that causes the binary log function to be disabled for secondary instances that are reset is fixed.

20190909

  • New features:
    • The execution of long transactions is optimized to ensure faster execution when the synchronous mode is used to replicate data between the primary and secondary instances.
    • Dumping of binary logs from a leader or follower is supported.
    • Creation of read-only instances is supported.
    • The InnoDB storage engine is used for system tables by default.
  • Bugs fixed:
    • The bug that invalidates the commands executed by a follower to delete logs is fixed.
    • The bug that causes slave threads to abnormally exit when the slave_sql_verify_checksum parameter is set to OFF and the binlog_checksum parameter is set to crc32 is fixed.

20190709

New features:

  • The Enterprise Edition is supported.
  • Disabling of the semi-sync plug-in is supported.
  • Table-level parallel replication and write set-level parallel replication are supported.
  • The pk_access module is optimized to expedite the query of primary keys.
  • Thread pools are supported.
  • All AliSQL functions that were developed by Alibaba Cloud and released prior to 20190510 for MySQL 5.7 in the Basic or High-availability Edition are integrated.

ApsaraDB RDS for MySQL 5.6

20191115

Bug fixed:

The bug that causes an overflow of timestamps in slow query logs is fixed.

20191101

Bugs fixed:

  • The bug that causes the system to rotate slow query logs when you update common logs is fixed.
  • Some display bugs are fixed.

20191015

  • New features:
    • Rotation of slow query logs: Every CSV slow query log file is assigned a unique name and a new file. This ensures that no data is lost during the collection of slow query logs. You can run the show variables like '%rotate_log_table%'; command to check whether rotation of slow query logs is enabled.
    • SM4: A new SM4 encryption algorithm is introduced to replace the original SM4 encryption algorithm.
    • Purge Large File Asynchronously: Asynchronous deletion of files is supported. Before you delete a tablespace, the system renames its files as temporary files. Then, a background thread is started to delete the temporary files asynchronously.
    • TCP error output: TCP errors in read, read-wait, and write-wait events along with their corresponding error codes are returned by using end_connection events, and logs with information about the errors are generated.
    • Log caching: SQL audit logs are stored to a cache, which increases SQL audit logging performance.
  • Bugs fixed:
    • The bug that prevents responses to the pstack command when there are a large number of connections is fixed by forbidding the pstack command.
    • The bug causing conflicts between implicit primary keys and CREATE TABLE AS SELECT statements is fixed.
    • The bug that prevents the system from automatically deleting temporary files created from binary log files is fixed.

20190815

Optimized instance locking: Tables can be dropped or truncated even if your ApsaraDB RDS for MySQL instance is locked.

20190130

Bugs that compromise database stability are fixed.

20181010

The rocksdb_ddl_commit_in_the_middle parameter is added to MyRocks. If this parameter is set to on, some DDL statements require a commit operation.

201806** (ApsaraDB RDS for MySQL 5.6.16)

New feature: Microsecond-level time precision is supported for slow query logs.

20180426 (ApsaraDB RDS for MySQL 5.6.16)

  • Index hiding is supported. For more information, visit AliSQL
  • The bug that causes the system to apply threads on secondary instances is fixed.
  • The bug that compromises database performance when updates to partitioned tables are applied on secondary instances is fixed.
  • The bug that causes TokuDB to restructure tables for which you altered comments is fixed. For more information, visit AliSQL.
  • The bug that triggers deadlocks when SHOW SLAVE STATUS or SHOW STATUS statements are executed is fixed.

20171205 (ApsaraDB RDS for MySQL 5.6.16)

  • The bug that triggers deadlocks when OPTIMIZE TABLE and ONLINE ALTER TABLE statements are executed at the same time is fixed.
  • The bug that triggers conflicts between sequences and implicit primary keys is fixed.
  • The bug that prevents the proper execution of SHOW CREATE SEQUENCE statements is fixed.
  • The bug that prevents the correct collection of table statistics from TokuDB is fixed.
  • The bug that triggers deadlocks when OPTIMIZE statements are executed in parallel on tables is fixed.
  • The bug that prevents the system from correctly recording character sets in QUERY_LOG_EVENT is fixed.
  • The bug that prevents databases from stopping due to signal processing reasons is fixed. For more information, visit AliSQL.
  • The bug caused by the execution of RESET MASTER statements is fixed.
  • The bug that leaves secondary instances in a constant waiting state is fixed.
  • The bug that prevents the system from updating the states of primary and secondary instances after primary/secondary switchovers is fixed.
  • The bug that causes the database process to break down due to the execution of SHOW CREATE TABLE statements is fixed.

20170927 (ApsaraDB RDS for MySQL 5.6.16)

Bug fixed: The bug that causes the system to use incorrect indexes to query tables from TokuDB is fixed.

20170901 (ApsaraDB RDS for MySQL 5.6.16)

  • New features:
    • Upgrade of SSL encryption to TLS 1.2 is supported. For more information, visit AliSQL.
    • Sequences are supported.
  • Bug fixed:

    The bug that causes the system to return an incorrect result set for the NOT IN query is fixed.

20170530 (ApsaraDB RDS for MySQL 5.6.16)

New feature: The privileged account of an RDS instance has permissions to terminate connections created by all standard accounts in the same RDS instance.

20170221 (ApsaraDB RDS for MySQL 5.6.16)

New feature: Introduction to read/write splitting is supported.

ApsaraDB RDS for MySQL 5.5

20181212

Bug fixed: The bug that causes the gettimeofday(2) function to return an incorrect value is fixed. This function returns a time value, which is used to calculate the wait timeout period. If the returned time value is incorrect, some operations never time out.