Configuration Differences in MySQL 5.4 from MySQL 5.1
There are Several variables and options are new or changed in MySQL 5.4 to provide more flexible runtime configuration, and better “out of box” configuration of default values for MySQL operation on up to 16-way x86 servers and 64-way CMT servers with 4GB or more memory.
The changes to
InnoDB configuration values may cause issues if you upgrade to MySQL 5.4 from an older version or MySQL, or if you upgrade from MySQL 5.4.0 through 5.4.2 to 5.4.3 or higher. See Section 18.104.22.168, “Upgrading from MySQL 5.1 to 5.4”.
These system variables are new:
innodb_adaptive_flushing: Controls adaptive flushing of dirty pages. Default:
innodb_change_buffering: Controls insert buffering. Default:
inserts(buffer insert operations).
innodb_file_format: The format for new InnoDB tables. Default:
innodb_file_format_check: Whether to perform file format compatibility checking. Default:
innodb_io_capacity: The limit on the maximum number of I/O operations per second (IOPS) the server can perform. Default: 200.
innodb_read_ahead_threshold: Controls sensitivity of linear read-ahead. Default: 56.
innodb_replication_delay: The replication thread delay (in ms) on the slave server if
innodb_thread_concurrencyis reached. Default: 0.
innodb_write_io_threads: The number of background I/O threads to use for read prefetch requests and for writing dirty pages from the buffer cache to disk. Default: 4.
innodb_spin_wait_delay: Maximum delay between polls for a spin lock. Default: 6.
innodb_stats_sample_pages: How many index pages to sample for statistics calculations. Default: 8.
innodb_strict_mode: Whether InnoDB returns errors rather than warnings for certain exceptional conditions (analogous to strict SQL mode). Default:
innodb_use_sys_malloc: Whether InnoDB uses the OS (system) or its own memory allocator. Default:
innodb_version: The version of InnoDB.
More information about the new system variables can be found in the
InnoDB Plugin Manual at http://www.innodb.com/products/innodb_plugin/plugin-documentation.
The default or minimum value of these existing system variables has changed:
innodb_additional_mem_pool_size: Default increased from 1MB to 8MB.
innodb_buffer_pool_size: Default increased from 8 MB to 128MB. Minimum increased from 1MB to 5MB.
innodb_file_io_threads: Removed (replaced by
innodb_log_buffer_size: Default increased from 1MB to 8MB.
innodb_max_dirty_pages_pct: Default decreased from 90 to 75. Maximum decreased from 100 to 99 to never allow a completely dirty buffer pool.
innodb_sync_spin_loops: Default changed from 20 to 30.
innodb_thread_concurrency: Default changed from 8 to 0. In effect, this changes concurrency from 8 to “infinite”.
table_definition_cache: Default and minimum increased from 256 to 400.
table_open_cache: Default increased from 64 to 400.
These system variables have been made dynamic and can be modified at runtime:
This status variable is new:
Innodb_have_atomic_builtins: Indicates whether the server was built with atomic instructions.
This server option is new:
--super-large-pages: Boolean option. Large page support is enhanced for recent SPARC platforms. Standard use of large pages in MySQL attempts to use the largest size supported, up to 4MB. Under Solaris, a “super large pages” feature enables uses of pages up to 256MB. This feature can be enabled or disabled by using the