Release availability:
MySQL 5.4 is based on MySQL 5.1 but includes small, high-impact changes to enhance scalability and performance in MySQL Server. For details, see Section 1.5, “What Is New in MySQL 5.4”.
Binary MySQL 5.4.0 distributions are available as 64-bit builds for Solaris 10-x86_64, Solaris10-SPARC, and Linux x86_64-glibc23.
If you use a source distribution, the
BUILD/build_mccge.sh script can be used to
configure and build MySQL 5.4.0. Run this script with the
--help
option to see the available options.
Functionality added or changed:
Incompatible Change:
The following InnoDB
system
variable changes were made:
innodb_file_io_threads
:
Removed (replaced by
innodb_read_io_threads
and
innodb_write_io_threads
).
If you upgrade from MySQL 5.1 from MySQL 5.4 and previously
explicitly set
innodb_file_io_threads
at
server startup, you must change your configuration.
innodb_read_io_threads
and
innodb_write_io_threads
can
be used instead.
innodb_read_io_threads
and
innodb_write_io_threads
:
Default changed from 1 to 8.
innodb_buffer_pool_size
:
Default increased from 8 MB to 1GB. Minimum increased from
1MB to 64MB.
innodb_additional_mem_pool_size
:
Default increased from 1MB to 8MB. Minimum increased from
512KB to 2MB.
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_log_buffer_size
:
Default increased from 1MB to 16MB. Minimum increased from
256KB to 2MB.
innodb_log_file_size
:
Default increased from 5MB to 128MB. Minimum increased from
1MB to 32MB.
innodb_log_files_in_group
:
Default increased from 2 to 3.
innodb_io_capacity
: Default
increased from 100 to 200.
innodb_autoextend_increment
:
Default increased from 8MB to 64MB.
Incompatible Change:
If you upgrade to MySQL 5.4.0 from MySQL 5.1, the server may
fail to start due to InnoDB
log
file configuration changes. MySQL 5.4.0 increases the default
value of
innodb_log_files_in_group
from
2 to 3. It also increases the default value of
innodb_log_file_size
from 5MB
to 128MB and the minimum value of
innodb_log_file_size
from 1MB
to 32MB.
For an upgrade, it is necessary to account for these changes. To
do so, discard the old InnoDB
log
files and let MySQL 5.4.0 create new ones. It is necessary to
shut down your current server cleanly so that no outstanding
transaction information remains in the log. The procedure to use
depends on the value of
innodb_fast_shutdown
used in
your current server:
If innodb_fast_shutdown
is
not set to 2: Stop your current MySQL server and make sure
that it shuts down without errors (to ensure that there is
no information for outstanding transactions in the log).
Copy the old log files into a safe place in case something
went wrong during the shutdown and you need them to recover
the tablespace. Delete the old log files and edit
my.cnf
if necessary to specify the
desired log file configuration. Then upgrade to MySQL 5.4.0
and start the new server. mysqld sees
that no InnoDB
log files exist
at startup and creates new ones.
If innodb_fast_shutdown
is
set to 2: Shut down your current server, set
innodb_fast_shutdown
to 1,
and restart the server. The server should be allowed to
recover. Then you should shut down the server again and
follow the procedure described in the preceding item to
change InnoDB
log file size.
Set innodb_fast_shutdown
back to 2 and start the MySQL 5.4.0 server.
The Instance Manager (mysqlmanager) has been discontinued and is no longer provided in MySQL releases.
Bugs fixed:
Performance:
The server unnecessarily acquired a query cache mutex even with
the query cache disabled, resulting in a small performance
decrement which could show up as threads often in state
“invalidating query cache entries (table)”,
particularly on a replication slave with row-based replication.
Now if the server is started with
query_cache_type
set to 0, it does not
acquire the query cache mutex. This has the implication that the
query cache cannot be enabled at runtime.
(Bug#38551)
Important Change:
When using the MySQL Instance Configuration Wizard with a
configuration where you already have an existing installation
with a custom datadir
, the wizard could reset
the data to the default data directory. When performing an
upgrade installation in this situation, you must re-specify your
custom settings, including the datadir
, to
ensure that your configuration file is not reset to the default
values.
(Bug#37534)
Important Change:
Uninstalling MySQL using the MySQL installer on Windows would
delete the my.ini
file. The file is no longer
deleted. In addition, when a new installation is conducted, any
existing cofiguration file will be renamed to
myDATETIME.ini.bak
during configuration.
(Bug#36493)
Important Change: When installing MySQL on Windows, it was possible to install multiple editions (Complete, and Essential, for example) of the same version of MySQL, leading to two separate entries in the installed packages which were impossible to isolate. This could lead to problems with installation and uninstallation. The MySQL installer on Windows no longers allow multiple installations of the same version of MySQL on a single machine. (Bug#4217)
The MySQL Instance Configuration Wizard would fail to start correctly on Windows Vista. (Bug#42386)
When running the MySQL Instance Configuration Wizard in
command-line only mode, the service name would be ignored
(effectively creating all instances with the default
MySQL
service name), irrespective of the name
specified on the command line. However, the wizard would attempt
to start the service with the specified name, and would fail.
(Bug#38379)
When using the MySQL MSI Installer on Windows and selecting Back after a choosing Repair, you would be returned to the Fresh Install section of the installer. You are now correctly returned to the Install, Repair, Modify screen. (Bug#37294)
User Comments
Add your own comment.