MySQL Server 5.4.2ベータ版がリリースされました


MySQLデータベース管理システムの新バージョンであるMySQL Server 5.4.2ベータ版がリリースされました。

MySQL 5.4.2はベータ版であり、他の試作版と同じであることに注意してください。製品レベルのシステムあるいは、重要なデータを持つシステムにインストールする場合は慎重にしてください。MySQL 5.1を使用する製品レベルシステムでは、下記のMySQL Enterpriseの製品説明をよく読んでください。


MySQL 5.4はMySQL 5.1に基づいていますが、MySQLサーバのアドレススケーラビリティおよびパフォーマンス問題に対処する影響の大きな変更を含んでいます。この変更は、ハードウェアおよびCPU設計の進歩における詳細な性能を引き出し、既存のハードウェアをより有効に利用できます。MySQL 5.4は現在ベータ版です。

MySQL 5.4の新機能の概要については、以下を参照してください。



新しいサーバでMySQL 5.4.2をインストールする情報として、以下のMySQL 5.1のインストールドキュメントを参照してください。













以下はMySQL 5.4の前回のバージョンからのMySQLソースコード内の変更をリストアップしています。これらはオンラインでも閲覧可能です。



Functionality added or changed:

* As of MySQL 5.4.2, the InnoDB Plugin is included in MySQL 5.4
releases. This version of InnoDB Plugin is 1.0.4 and is considered
of Beta quality. It becomes the built-in version of InnoDB,
replacing the version previously included as the built-in version.

A number of performance and scalability enhancements were made to
the previous built-in version of InnoDB in MySQL 5.4.0 and 5.4.1.
InnoDB Plugin also provides improvements in these areas, and in
addition offers new features and capabilities for flexibility and
ease of use. Among these features are enhanced reliability, "Fast
index creation," table and index compression, file format
management, new INFORMATION_SCHEMA tables, capacity tuning, multiple
background I/O threads, and group commit.

For information about these features, see the InnoDB Plugin Manual
For general information about using InnoDB in MySQL, see Section
13.6, "The InnoDB Storage Engine".

These system variables were added with InnoDB 1.0.4:
Controls adaptive flushing of dirty pages
Controls insert buffering
The format for new InnoDB tables
Whether to perform file format compatibility checking
Controls sensitivity of linear readahead
Maximum delay between polls for a spin lock
How many index pages to sample for statistics calculations
Whether InnoDB returns errors rather than warnings for
certain exceptional conditions (analogous to strict SQL
Whether InnoDB uses its own or the OS memory allocator
The current version of InnoDB
More information about these new system variables can be found in
the InnoDB Plugin manual referenced earlier.

These system variables have been made dynamic and can be modified
at runtime:
innodb_adaptive_hash_index (global)
innodb_file_per_table (global)
innodb_io_capacity (global)
innodb_lock_wait_timeout (global, session)

These system variables were removed, along with the functionality
that they represented, such as the lock-free method for handing
InnoDB thread concurrency:

The minimum value of these system variables was changed:
innodb_additional_mem_pool_size minimum 2MB -> 512KB
innodb_buffer_pool_size minimum 64MB -> 5MB
innodb_log_buffer_size minimum 2MB -> 256KB
innodb_log_file_size minimum 32MB -> 1MB
These changes in minimum values tend to undo changes made in MySQL

The default value of this system variable was changed:
innodb_sync_spin_loops default 20 -> 30

These status variables were removed:

This status variable was renamed:
Innodb_have_sync_atomic -> Innodb_have_atomic_builtins

* The minimum value for table_open_cache was increased from 64
to 400. (Bug#45475: http://bugs.mysql.com/45475)

* On Linux, the performance of MySQL Server can be improved by
using a different malloc() implementation, developed by Google
and called tcmalloc. The gain is noticeable with a higher
number of simultaneous users. MySQL 5.4.1 was linked against
this library, which improved performance but imposed some
restrictions. As a result of these restrictions, MySQL 5.4.2
uses a different approach:

+ The server is linked against the default malloc()
provided by the respective platform.

+ The user or administrator can install Google's
tcmalloc_minimal if desired. Some distributions provide
it in a google-perftools package or with a similar name,
or you can download it from Google at

+ If the MySQL server is then started with an environment
variable like this (with the correct path name) the
server will use tcmalloc with no other change needed:

The MySQL team is considering whether to modify the start
script mysqld_safe so that it will check whether tcmalloc
is installed and set the variable if that shared library
is found.

Feedback about this possible change is welcome!

Bugs fixed:

* open_binary_frm() performed a version test incorrectly,
resulting in Valgrind errors.
(Bug#46652: http://bugs.mysql.com/46652)

* A problem of compiler register misallocation on 32-bit Linux
was corrected. (Bug#45131: http://bugs.mysql.com/45131)

* Some deprecation warning messages indicated feature removal in
MySQL 5.2 rather than MySQL 6.0.
(Bug#44676: http://bugs.mysql.com/44676)

* During incorporation of a Google patch to SHOW ENGINE INNODB
STATUS in MySQL 5.4.0, the TRANSACTIONS section of the output
was inadvertently omitted. This section has been restored.
(Bug#44671: http://bugs.mysql.com/44671)

* The my-innodb-heavy-4G.cnf sample option file contained a
setting for the no longer existing innodb_file_io_threads
system variable. This has been replaced with settings for the
innodb_write_io_threads and innodb_read_io_threads system
variables with which innodb_file_io_threads has been replaced.
(Bug#44470: http://bugs.mysql.com/44470)

* Creating a new instance after previously removing an instance
would fail to complete the installation properly because the
security settings could not be applied correctly.
(Bug#44428: http://bugs.mysql.com/44428)

* A deprecation warning message tested for an incorrect version
number and caused an assertion failure.
(Bug#44394: http://bugs.mysql.com/44394)

* During installation on Windows, the MySQL Instance
Configuration Wizard window could be opened at a size too
small to be usable. (Bug#38723: http://bugs.mysql.com/38723)

* When performing an installation on Windows using the GUI
installer, the installer would fail to wait long enough during
installation for the MySQL service to be installed, which
would cause the installation to fail and may cause security
settings, such as the root password to not be applied
correctly. (Bug#30525: http://bugs.mysql.com/30525)