2009.09.17

MySQL

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

オリジナル版:http://dev.mysql.com/doc/refman/5.4/en/news-5-4-2.html


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


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

   http://mysql.com/products/enterprise/


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

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

   http://dev.mysql.com/doc/refman/5.4/en/news-5-4-x.html

   http://lists.mysql.com/internals/


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

  http://dev.mysql.com/doc/refman/5.1/en/installing.html


前回のMySQLリリースからアップグレードするには、以下のアップグレードについての注意事項を参照してください。

   http://dev.mysql.com/doc/mysql-5.4-features/en/index.html

 

その他助けになるものとしては下記のものがあります。

  http://dev.mysql.com/doc/refman/5.4/en/mysql-nutshell.html
  http://dev.mysql.com/doc/refman/5.4/en/configuration-changes-5-4.html

  http://dev.mysql.com/doc/refman/5.4/en/upgrading-from-previous-series.html

MySQLサーバは、ダウンロード・ページからソースコード及び多くのプラットフォームのためのバイナリで現在利用可能です。

  http://dev.mysql.com/downloads/

すべてのミラーサイトが現在、最新であるとは限らないことに注意してください。
あるミラーサイトでこのバージョンを見つけることができない場合は、再度確認を行うか、あるいは別のダウンロード・サイトを選択してください。

現時点では全ミラーサイトが最新というわけではありませんので、いくつかのミラーサイトではこのバージョンを見つけられないかもしれません。後日ダウンロードするか、別のダウンロードサイトを利用してください。

バグレポート、バグ修正、パッチ等の情報をお待ちしております。
http://forge.mysql.com/wiki/Contributing

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

  http://dev.mysql.com/doc/refman/5.4/en/news-5-4-2.html

==========

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
at
http://www.innodb.com/products/innodb_plugin/plugin-documentation.
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:
innodb_adaptive_flushing
Controls adaptive flushing of dirty pages
innodb_change_buffering
Controls insert buffering
innodb_file_format
The format for new InnoDB tables
innodb_file_format_check
Whether to perform file format compatibility checking
innodb_read_ahead_threshold
Controls sensitivity of linear readahead
innodb_spin_wait_delay
Maximum delay between polls for a spin lock
innodb_stats_sample_pages
How many index pages to sample for statistics calculations
innodb_strict_mode
Whether InnoDB returns errors rather than warnings for
certain exceptional conditions (analogous to strict SQL
mode)
innodb_use_sys_malloc
Whether InnoDB uses its own or the OS memory allocator
innodb_version
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:
innodb_extra_dirty_writes
innodb_max_merged_io
innodb_thread_concurrency_timer_based

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
5.4.0.

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

These status variables were removed:
Innodb_heap_enabled
Innodb_wake_ups

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
http://code.google.com/p/google-perftools/

+ 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:
LD_PRELOAD=/your/local/path/to/libtcmalloc_minimal.so

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)