Percona Server 5.6 is based on MySQL 5.6 and incorporates many of the improvements found in Percona Server 5.5.
Some features that were present in Percona Server 5.5 have been removed in Percona Server 5.6. These are:
- SHOW [GLOBAL] TEMPORARY TABLES functionality is now only available via the INFORMATION_SCHEMA tables TEMPORARY_TABLES and GLOBAL_TEMPORARY_TABLES.
- InnoDB timer-based Concurrency Throttling
- InnoDB Recovery Stats
- Rows_read counters in Slow Query Log and SHOW PROCESSLIST had a very fuzzy meaning so they were removed.
Some features that were present in Percona Server 5.5 have been replaced by a different implementation of the same/similar functionality in Percona Server 5.6. These are:
- SHOW ENGINE INNODB STATUS section “OLDEST VIEW” has been replaced by the XTRADB_READ_VIEW INFORMATION_SCHEMA table.
- SHOW ENGINE INNODB STATUS sections on memory usage for InnoDB/XtraDB hash tables has been replaced by the XTRADB_INTERNAL_HASH_TABLES INFORMATION_SCHEMA table.
- The INNODB_RSEG table has been renamed to XTRADB_RSEG.
- Fixed Size for the Read Ahead Area has been implemented differently. Buffer read-ahead area size is now precalculated once per buffer pool instance initialization instead of hardcoding it at 64MB (like it was done in previous Percona Server versions).
- Response Time Distribution feature has been implemented as a plugin. It has the following changes from the 5.5 implementation: - the plugin requires installation before the feature can be used; - variable have_response_time_distribution has been removed. The presence of the feature can be determined by querying SHOW PLUGINS instead; - replication updates performed by the slave SQL threads are not tracked; - command SHOW QUERY_RESPONSE_TIME; has been removed in favor of QUERY_RESPONSE_TIME table; - command FLUSH QUERY_RESPONSE_TIME; has been replaced with query_response_time_flush variable.
Some Percona Server 5.5 features have been replaced by similar or equivalent MySQL 5.6 features, so we now keep the MySQL 5.6 implementations in Percona Server 5.6. These are:
Crash-Resistant Replication has been replaced by MySQL crash safe replication
Improved InnoDB I/O Scalability patches have been replaced by improvements and changes in MySQL 5.6, although Percona may make improvements in the future
InnoDB Data Dictionary Size Limit has been replaced by MySQL 5.6 using the existing table-definition-cache variable to limit the size of the InnoDB data dictionary.
Expand Table Import has been replaced by MySQL “InnoDB transportable tablespaces”
The InnoDB data dictionary INFORMATION_SCHEMA tables have been superseded by the MySQL implementations
XtraDB SYS_STATS persistent table and index statistics has been replaced by the MySQL 5.6 implementation
Dump/Restore of the Buffer Pool is now available in MySQL 5.6, so we have replaced the Percona Server implementation with the MySQL one. The upstream implementation doesn’t have the periodic dump feature, but it’s possible to set it up by using the event scheduler and the new innodb_buffer_pool_dump_now variable. The following example shows how to implement a periodic buffer pool dump every hour:mysql> CREATE EVENT automatic_bufferpool_dump ON SCHEDULE EVERY 1 HOUR DO SET global innodb_buffer_pool_dump_now=ON;
Fast InnoDB Checksum has been deprecated after Percona Server 5.5.28-29.2 because the innodb_checksum_algorithm variable in MySQL 5.6 makes it redundant. If this feature was enabled, turning it off before the upgrade requires table(s) to be dumped and imported, since it will fail to start on data files created when innodb_fast_checksum was enabled. As an alternative you can use innochecksum from MySQL 5.7 as described in this blogpost.
Percona Server 5.5 implemented utf8_general50_ci and ucs2_general50_ci collations as a fix for the upstream bug: #27877. These are now being replaced by MySQL 5.6 utf8_general_mysql500_ci and ucs2_general_mysql500_ci collations.
Percona Server INFORMATION_SCHEMA _STATS tables in 5.5 have been replaced by new tables in MySQL 5.6: INNODB_SYS_TABLES, INNODB_SYS_INDEXES, INNODB_SYS_COLUMNS, INNODB_SYS_FIELDS, INNODB_SYS_FOREIGN, INNODB_SYS_FOREIGN_COLS, INNODB_SYS_TABLESTATS (although MySQL 5.6 does not have MYSQL_HANDLES_OPENED, instead it has REF_COUNT). Following tables haven’t been implemented in MySQL 5.6 but information is available in other tables: INNODB_SYS_STATS - use MYSQL.INNODB_(INDEX|TABLE)_STATS instead, INNODB_TABLE_STATS - use INNODB_SYS_TABLESTATS or MYSQL.INNODB_TABLE_STATS instead, and INNODB_INDEX_STATS - use MYSQL.INNODB_INDEX_STATS instead.
Following features were ported from Percona Server 5.5 to Percona Server 5.6:
Feature Ported Version Thread Pool 5.6.10-60.2 Atomic write support for Fusion-io devices 5.6.11-60.3 Improved InnoDB I/O Scalability 5.6.11-60.3 Improved NUMA support 5.6.11-60.3 Suppress Warning Messages 5.6.11-60.3 Improved MEMORY Storage Engine 5.6.11-60.3 Restricting the number of binlog files 5.6.11-60.3 Too Many Connections Warning 5.6.11-60.3 Error Code Compatibility 5.6.11-60.3 Lock-Free SHOW SLAVE STATUS 5.6.11-60.3 Percona Toolkit UDFs 5.6.11-60.3 Support for Fake Changes 5.6.11-60.3 Kill Idle Transactions 5.6.11-60.3 Enforcing Storage Engine 5.6.11-60.3 Utility user 5.6.11-60.3 Extending the secure-file-priv server option 5.6.11-60.3 Expanded Program Option Modifiers 5.6.11-60.3 XtraDB changed page tracking 5.6.11-60.3 PAM Authentication Plugin 5.6.11-60.3 User Statistics 5.6.11-60.3 Slow Query Log 5.6.11-60.3 Extended Show Engine InnoDB Status 5.6.11-60.3 Count InnoDB Deadlocks 5.6.11-60.3 Log All Client Commands (syslog) 5.6.11-60.3 Show Storage Engines 5.6.11-60.3 Thread Based Profiling 5.6.11-60.3 Fixed Size for the Read Ahead Area 5.6.13-60.5 Improved Buffer Pool Scalability 5.6.13-60.6 Multiple Adaptive Hash Search Partitions 5.6.13-60.6 HandlerSocket 5.6.17-66.0 Response Time Distribution 5.6.21-69.0
Following status variables available in Percona Server 5.5 are no longer present in Percona Server 5.6:
|Status Variables||Replaced by|
|Com_show_temporary_tables||This variable has been removed together with the “SHOW [GLOBAL] TEMPORARY TABLES” statement, whose call number it was counting. The information about temporary tables is available via the INFORMATION_SCHEMA tables TEMPORARY_TABLES and GLOBAL_TEMPORARY_TABLES|
|Flashcache_enabled||information if the Flashcache support has been enabled has not been ported to Percona Server 5.6|
|Innodb_adaptive_hash_cells||this variable has not been ported to Percona Server 5.6|
|Innodb_adaptive_hash_heap_buffers||this variable has not been ported to Percona Server 5.6|
|Innodb_adaptive_hash_hash_searches||replaced by adaptive_hash_searches counter in INFORMATION_SCHEMA.INNODB_METRICS table|
|Innodb_adaptive_hash_non_hash_searches||replaced by adaptive_hash_searches_btree counter in INFORMATION_SCHEMA.INNODB_METRICS table|
|Innodb_checkpoint_target_age||replaced by MySQL 5.6 flushing implementation|
|Innodb_dict_tables||InnoDB Data Dictionary Size Limit feature has been replaced by the new MySQL 5.6 table_definition_cache implementation|
|Innodb_master_thread_1_second_loops||new InnoDB master thread behavior makes this variable redundant|
|Innodb_master_thread_10_second_loops||new InnoDB master thread behavior makes this variable redundant|
|Innodb_master_thread_background_loops||new InnoDB master thread behavior makes this variable redundant|
|Innodb_master_thread_main_flush_loops||new InnoDB master thread behavior makes this variable redundant|
|Innodb_master_thread_sleeps||replaced by innodb_master_thread_sleeps counter in INFORMATION_SCHEMA.INNODB_METRICS table|
|binlog_commits||Binary Log Group Commit feature has been replaced with the MySQL 5.6 implementation that doesn’t have this status variable.|
|binlog_group_commits||Binary Log Group Commit feature has been replaced with the MySQL 5.6 implementation that doesn’t have this status variable.|
Following system variables available in Percona Server 5.5 are no longer present in Percona Server 5.6:
Percona Server 5.6 won’t be able to start if some of these variables are set in the server’s configuration file.
|System Variables||Feature Comment|
|fast_index_creation||replaced by using MySQL’s ALGORITHM option|
|have_flashcache||Information if the server has been compiled with the Flashcache support has not been ported to Percona Server 5.6|
|have_response_time_distribution||Response Time Distribution feature has been ported to Percona Server 5.6 without this variable|
|innodb_adaptive_flushing_method||replaced by MySQL 5.6 flushing implementation|
|innodb_blocking_buffer_pool_restore||variable doesn’t have direct replacement in MySQL 5.6. Feature will be implemented in a future Percona Server 5.6 release|
|innodb_buffer_pool_restore_at_startup||replaced by innodb_buffer_pool_load_at_startup|
|innodb_buffer_pool_shm_checksum||variable has been deprecated and removed in Percona Server 5.5|
|innodb_buffer_pool_shm_key||variable has been deprecated and removed in Percona Server 5.5|
|innodb_checkpoint_age_target||replaced by MySQL 5.6 flushing implementation|
|innodb_dict_size_limit||replaced by MySQL 5.6 new table_definition_cache implementation|
|innodb_doublewrite_file||Configuration of the Doublewrite Buffer feature containing this variable has not been ported to Percona Server 5.6|
|innodb_fast_checksum||replaced by innodb_checksum_algorithm|
|innodb_flush_neighbor_pages||replaced by innodb_flush_neighbors|
|innodb_ibuf_accel_rate||Configurable Insert Buffer feature containing this variable has not been ported to Percona Server 5.6|
|innodb_ibuf_active_contract||Configurable Insert Buffer feature containing this variable has not been ported to Percona Server 5.6|
|innodb_ibuf_max_size||Configurable Insert Buffer feature containing this variable has not been ported to Percona Server 5.6|
|innodb_import_table_from_xtrabackup||replaced by MySQL transportable tablespaces|
|innodb_lazy_drop_table||variable has been deprecated and removed in Percona Server 5.5|
|innodb_merge_sort_block_size||replaced by innodb_sort_buffer_size|
|innodb_page_size||replaced by innodb_page_size|
|innodb_read_ahead||replaced by MySQL Read-Ahead Algorithm implementation, innodb_random_read_ahead|
|innodb_recovery_stats||InnoDB Recovery Stats feature containing this variable has not been ported to Percona Server 5.6|
|innodb_recovery_update_relay_log||replaced by relay-log-recovery|
|innodb_stats_auto_update||replaced by innodb_stats_auto_recalc|
|innodb_stats_update_need_lock||variable has not been ported to Percona Server 5.6|
|innodb_thread_concurrency_timer_based||InnoDB timer-based Concurrency Throttling feature containing this variable has not been ported to Percona Server 5.6|
|innodb_use_sys_stats_table||variable has been replaced by Persistent Optimizer Statistics implementation in MySQL 5.6|
|log_slow_admin_statements||the upstream variable has the same functionality|
|log_slow_slave_statements||the upstream variable has the same functionality|
|optimizer_fix||this variable has been deprecated and removed in Percona Server 5.5|
|query_response_time_range_base||Response Time Distribution feature containing this variable has been ported to Percona Server 5.6, but requires plugin installation in order to work. More information can be found in Response Time Distribution documentation.|
|query_response_time_stats||Response Time Distribution feature containing this variable has been ported to Percona Server 5.6, but requires plugin installation in order to work. More information can be found in Response Time Distribution documentation.|