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 2.12.1.1, “Upgrading from MySQL 5.1 to 5.4”.
These system variables are new:
innodb_adaptive_flushing: Controls
adaptive flushing of dirty pages. Default:
ON.
innodb_change_buffering: Controls
insert buffering. Default: inserts
(buffer insert operations).
innodb_file_format: The format for new
InnoDB tables. Default: Antelope.
innodb_file_format_check: Whether to
perform file format compatibility checking. Default:
ON.
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_concurrency is reached.
Default: 0.
innodb_read_io_threads,
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: OFF.
innodb_use_sys_malloc: Whether InnoDB
uses the OS (system) or its own memory allocator. Default:
ON.
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_read_io_threads
and
innodb_write_io_threads).
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:
innodb_adaptive_hash_index
(global value)
innodb_file_per_table
(global value)
innodb_io_capacity
(global value)
innodb_lock_wait_timeout
(global and session values)
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
--super-large-pages or
--skip-super-large-pages
option.


User Comments
Add your own comment.