2010.04.14

MySQL

MySQL 5.5.3-m3とMySQL 5.5.4-m4がリリースされました

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


オープンソースデータベース管理システムの新バージョンであるMySQL Server 5.5.3-m3がリリースされました。また同時に、現時点ではLinux x86-64版だけですが、MySQL Server 5.5.4-m4もリリースしました。これにはMySQL Server 5.5.3-m3と比較して、いくつものパフォーマンス強化が行われたInnoDBの新バージョンが含まれています。


修飾子"-m3"は、これが"Celosia"とも呼ばれる"マイルストーン"リリースモデルの3番目のマイルストーンであることを示しています。
リリースモデルと計画済みのマイルストーンについては下記でその詳細を確認できます。

   http://forge.mysql.com/wiki/Development_Cycle

このリリースの新機能はベータ品質です。他の試作版と同様に、製品レベルのシステムあるいは、重要なデータを持つシステムにインストールする場合は慎重にしてください。
MySQL Server 5.5.3-m3に関して報告されている既知のバグの一覧は、下記を参照してください

   http://bugs.mysql.com/saved/5.5.3-m3-bugs

このリリースからMySQL Server 5.5.2-m2を含む以前のリリースシリーズへの「ダウングレード」はサポートされないことに注意してください。

MySQL 5.1を使用する製品レベルシステムに関しては、下記のMySQL Enterpriseの製品説明をよく読んでください。

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


MySQL 5.5はMySQL 5.4をベースとしており、追加の変更は行われていません。そのためMySQL 5.5は、MySQLサーバのスケーラビリティおよびパフォーマンス問題に対応するための影響の大きな変更をいくつか含んでいます。この変更は、ハードウェアおよびCPU設計における詳細な性能を引き出し、既存のハードウェアをより有効に利用できます。

MySQL 5.5の新機能の概要については、以下の"MySQL 5.5の何が新しくなったのか"を参照してください。

   http://dev.mysql.com/doc/refman/5.5/en/mysql-nutshell.html


新しいサーバにMySQL 5.5.3-m3、もしくはMySQL 5.5.4-m4をインストールする情報として、以下のMySQLのインストールドキュメントを参照してください。

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


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

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

 

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

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

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

バグフィックスの全リストはオンラインでも閲覧できます。

http://dev.mysql.com/doc/refman/5.5/en/news-5-5-3.html

MySQL 5.5.4の変更点:

InnoDB Plugin Notes:
* This release includes InnoDB Plugin 1.1.

Bugs fixed:
* The mysqld option to turn on support for large pages
was erroneously linked to the internal variable that
stores whether large file support is available. Turning
large_pages on would show both support for large pages
and for large files as available without actually turning
on support for large pages. Turning large_pages off would
show both as turned off without any actual implication to
large file support, which is compiled in at build time.
This bug was introduced in MySQL Server 5.5.3-m3.
(Bug#52716: http://bugs.mysql.com/bug.php?id=52716)

MySQL 5.5.3の変更点:

Performance Schema Notes:
* MySQL Server now includes Performance Schema, a feature
for monitoring server execution at a low level. It is
implemented via the PERFORMANCE_SCHEMA storage engine and
the performance_schema database. Performance Schema
focuses primarily on performance data. This differs from
INFORMATION_SCHEMA, which serves for inspection of
metadata. For more information, see Chapter 20, "MySQL
Performance Schema."
Performance Schema support is included in binary MySQL
distributions. It is disabled by default. To enable it,
start the server with the --performance_schema option.
To create the performance_schema database if you are
upgrading from an earlier release, run mysql_upgrade and
restart the server. See Section 4.4.7, "mysql_upgrade ---
Check Tables for MySQL Upgrade."

InnoDB Plugin Notes:
* This release includes InnoDB Plugin 1.0.6. This version
is considered of Release Candidate (RC) quality.

Functionality added or changed:
* Performance: The performance of internal functions that
trim multiple spaces from strings when comparing them has
been improved.
(Bug#14637: http://bugs.mysql.com/bug.php?id=14637)
* Incompatible Change: The following obsolete constructs
have been removed. Where alternatives are shown,
applications should be updated to use them.
+ The log_bin_trust_routine_creators system variable
(use log_bin_trust_function_creators).
+ The myisam_max_extra_sort_file_size system variable.
+ The record_buffer system variable (use
read_buffer_size).
+ The sql_log_update system variable.
+ The table_type system variable (use storage_engine).
+ The FRAC_SECOND modifier for the TIMESTAMPADD()
function.
+ The TYPE table option to specify the storage engine
for CREATE TABLE or ALTER TABLE (use ENGINE).
+ The SHOW TABLE TYPES SQL statement (use SHOW
ENGINES).
+ The SHOW INNODB STATUS
(http://dev.mysql.com/doc/refman/5.4/en/show-innodb-
status.html) and SHOW MUTEX STATUS SQL statements
(use SHOW ENGINE INNODB STATUS SHOW ENGINE INNODB
MUTEX).
+ The SHOW PLUGIN SQL statement (use SHOW PLUGINS).
+ The LOAD TABLE ... FROM MASTER and LOAD DATA FROM
MASTER SQL statements (use mysqldump or mysqlhotcopy
to dump tables and mysql to reload dump files).
+ The BACKUP TABLE
(http://dev.mysql.com/doc/refman/5.4/en/backup-table
.html) and RESTORE TABLE
(http://dev.mysql.com/doc/refman/5.4/en/restore-tabl
e.html) SQL statements (use mysqldump or
mysqlhotcopy to dump tables and mysql to reload dump
files).
+ TIMESTAMP(N) data type: The ability to specify a
display width of N (use without N).
+ The --default-character-set and --default-collation
server options (use --character-set-server and
--collation-server).
+ The --delay-key-write-for-all-tables server option
(use --delay-key-write=ALL).
+ The --enable-locking and --skip-locking server
options (use --external-locking and
--skip-external-locking).
+ The --log-bin-trust-routine-creators server option
(use --log-bin-trust-function-creators).
+ The --log-long-format server option.
+ The --log-update server option.
+ The --master-xxx server options to set replication
parameters (use the CHANGE MASTER TO statement
instead): --master-host, --master-user,
--master-password , --master-port,
--master-connect-retry, --master-ssl,
--master-ssl-ca, --master-ssl-capath,
--master-ssl-cert, --master-ssl-cipher,
--master-ssl-key.
+ The --safe-show-database server option.
+ The --skip-symlink and --use-symbolic-links server
options (use --skip-symbolic-links and
--symbolic-links).
+ The --sql-bin-update-same server option.
+ The --warnings server option (use --log-warnings).
+ The --no-named-commands option for mysql (use
--skip-named-commands
+ The --no-pager option for mysql (use --skip-pager).
+ The --no-tee option for mysql (use --skip-tee).
+ The --position option for mysqlbinlog (use
--start-position).
+ The --all option for mysqldump (use
--create-options).
+ The --first-slave option for mysqldump (use
--lock-all-tables).
+ The --config-file option for mysqld_multi (use
--defaults-extra-file).
+ The --set-variable=var_name=value and -O
var_name=value general-purpose options for setting
program variables (use --var_name=value).
(Bug#48048: http://bugs.mysql.com/bug.php?id=48048)
See also
Bug#47974: http://bugs.mysql.com/bug.php?id=47974.
* Incompatible Change: Aliases for wildcards (as in SELECT
t.* AS 'alias' FROM t) are no longer accepted and result
in an error. Previously, such aliases were ignored
silently.
(Bug#27249: http://bugs.mysql.com/bug.php?id=27249)
* Incompatible Change: FLUSH TABLES has a new variant,
FLUSH TABLES tbl_list WITH READ LOCK. This variant
enables tables to be flushed and locked in a single
operation. It provides a workaround for the restriction
(due to work done for
Bug#989: http://bugs.mysql.com/bug.php?id=989) that FLUSH
TABLES is disallowed when there is an active LOCK TABLES
... READ.
See also
Bug#42465: http://bugs.mysql.com/bug.php?id=42465.
* Incompatible Change: The server now includes dtoa, a
library for conversion between strings and numbers by
David M. Gay. In MySQL, this library provides the basis
for improved conversion between string or DECIMAL values
and approximate-value (FLOAT/DOUBLE) numbers:
+ Consistent conversion results across platforms,
which eliminates, for example, Unix versus Windows
conversion differences.
+ Accurate representation of values in cases where
results previously did not provide sufficient
precision, such as for values close to IEEE limits.
+ Conversion of numbers to string format with the best
possible precision. The precision of dtoa is always
the same or better than that of the standard C
library functions.
Because the conversions produced by this library differ
in some cases from previous results, the potential exists
for incompatibilities in applications that rely on
previous results. For example, applications that depend
on a specific exact result from previous conversions
might need adjustment to accommodate additional
precision.
For additional information about the properties of dtoa
conversions, see Section 11.2.2, "Type Conversion in
Expression Evaluation."
See also
Bug#12860: http://bugs.mysql.com/bug.php?id=12860,
Bug#21497: http://bugs.mysql.com/bug.php?id=21497,
Bug#26788: http://bugs.mysql.com/bug.php?id=26788,
Bug#24541: http://bugs.mysql.com/bug.php?id=24541,
Bug#34015: http://bugs.mysql.com/bug.php?id=34015.
* Incompatible Change: The Unicode implementation has been
extended to provide support for supplementary characters
that lie outside the Basic Multilingual Plane (BMP).
Noteworthy features:
+ utf16 and utf32 character sets have been added.
These correspond to the UTF-16 and UTF-32 encodings
of the Unicode character set, and they both support
supplementary characters.
+ The utf8mb4 character set has been added. This is
similar to utf8, but its encoding allows up to four
bytes per character to enable support for
supplementary characters.
+ The ucs2 character set is essentially unchanged
except for the inclusion of some newer BMP
characters.
In most respects, upgrading to MySQL 5.5 should present
few problems with regard to Unicode usage, although there
are some potential areas of incompatibility. These are
the primary areas of concern:
+ For the variable-length character data types
(VARCHAR and the TEXT types), the maximum length in
characters is less for utf8mb4 columns than for utf8
columns.
+ For all character data types (CHAR, VARCHAR, and the
TEXT types), the maximum number of characters that
can be indexed is less for utf8mb4 columns than for
utf8 columns.
Consequently, if you want to upgrade tables from utf8 to
utf8mb4 to take advantage of supplementary-character
support, it may be necessary to change some column or
index definitions.
For additional details about the new Unicode character
sets and potential incompatibilities, see Section 9.1.10,
"Unicode Support," and Section 9.1.11, "Upgrading from
Previous to Current Unicode Support."
* Incompatible Change: Several columns were added to the
INFORMATION_SCHEMA.ROUTINES table to provide information
about the RETURNS clause data type for stored functions:
DATA_TYPE, CHARACTER_MAXIMUM_LENGTH,
CHARACTER_OCTET_LENGTH, NUMERIC_PRECISION, NUMERIC_SCALE,
CHARACTER_SET_NAME, and COLLATION_NAME.
This change produces an incompatibility for applications
that depend on column order in the ROUTINES table because
the new columns appear between the ROUTINE_TYPE and
DTD_IDENTIFIER columns. Such applications may need to be
adjusted to account for the new columns.
* Important Change: Replication: RESET MASTER and RESET
SLAVE now reset the values shown for Last_IO_Error,
Last_IO_Errno, Last_SQL_Error, and Last_SQL_Errno in the
output of SHOW SLAVE STATUS.
(Bug#34654: http://bugs.mysql.com/bug.php?id=34654)
See also
Bug#44270: http://bugs.mysql.com/bug.php?id=44270.
* Important Change: The --skip-thread-priority option is
now deprecated such that the server won't change the
thread priorities by default. Giving threads different
priorities might yield marginal improvements in some
platforms (where it actually works), but it might instead
cause significant degradation depending on the thread
count and number of processors. Meddling with the thread
priorities is a not a safe bet as it is very dependent on
the behavior of the CPU scheduler and system where MySQL
is being run.
(Bug#35164: http://bugs.mysql.com/bug.php?id=35164,
Bug#37536: http://bugs.mysql.com/bug.php?id=37536)
* Cluster Replication: Replication: MySQL Replication now
supports attribute promotion and demotion for row-based
replication between columns of different but similar
types on the master and the slave. For example, it is
possible to promote an INT column on the master to a
BIGINT column on the slave, and to demote a TEXT column
to a VARCHAR column.
The implementation of type demotion distinguishes between
lossy and non-lossy type conversions, and their use on
the slave can be controlled by setting the
slave_type_conversions global server system variable.
For more information, see Section 16.4.1.5.2, "Row-based
replication: attribute promotion and demotion."
(Bug#47163: http://bugs.mysql.com/bug.php?id=47163,
Bug#46584: http://bugs.mysql.com/bug.php?id=46584)
* mysqltest has a new --max-connections option to set a
higher number of maximum allowed server connections than
the default 128. This option can also be passed via
mysql-test-run.pl.
(Bug#51135: http://bugs.mysql.com/bug.php?id=51135)
* mysql-test-run.pl has a new --portbase option and a
corresponding MTR_PORT_BASE environment variable for
setting the port range, as an alternative to the existing
--build-thread option.
(Bug#50182: http://bugs.mysql.com/bug.php?id=50182)
* SHOW PROFILE CPU has been ported to Windows. Thanks to
Alex Budovski for the patch.
(Bug#50057: http://bugs.mysql.com/bug.php?id=50057)
* mysql-test-run.pl has a new --gprof option that runs the
server through the gprof profiler, much the same way the
currently supported --gcov option runs it through gcov.
(Bug#49345: http://bugs.mysql.com/bug.php?id=49345)
* mysqltest has a new lowercase_result command that
converts the output of the next statement to lowercase.
This is useful for test cases where the lettercase may
vary between platforms.
(Bug#48863: http://bugs.mysql.com/bug.php?id=48863)
* mysqltest has a new remove_files_wildcard command that
removes files matching a pattern from a directory.
(Bug#39774: http://bugs.mysql.com/bug.php?id=39774)
* MySQL support for adding collations using LDML
specifications did not support the <i> identity rule that
indicates one character sorts identically to another. The
<i> rule now is supported.
(Bug#37129: http://bugs.mysql.com/bug.php?id=37129)
* For boolean options, the option-processing library now
prints additional information in the --help message: If
the option is enabled by default, the message says so and
indicates that the --skip form of the option disables the
option. This affects all compiled MySQL programs that use
the library.
(Bug#35224: http://bugs.mysql.com/bug.php?id=35224)
* The use of the SQL_CACHE and SQL_NO_CACHE options in
SELECT statements now is checked more restrictively: 1)
Previously, both options could be given in the same
statement. This is no longer true; only one can be given.
2) Previously, these options could be given in SELECT
statements that were not at the top-level. This is no
longer true; the options are disallowed in subqueries
(including subqueries in the FROM clause, and SELECT
statements in unions other than the first SELECT.
(Bug#35020: http://bugs.mysql.com/bug.php?id=35020)
* Added the --auto-vertical-output option to mysql which
causes result sets to be displayed vertically if they are
too wide for the current window, and using normal tabular
format otherwise. (This applies to statements terminated
by ; or \G.)
(Bug#26780: http://bugs.mysql.com/bug.php?id=26780)
* FLUSH LOGS now takes an optional log_type value so that
FLUSH log_type LOGS can be used to flush only a specified
log type. These log_type options are allowed:
+ BINARY closes and reopens the binary log files.
+ ENGINE closes and reopens any flushable logs for
installed storage engines.
+ ERROR closes and reopens the error log file.
+ GENERAL closes and reopens the general query log
file.
+ RELAY closes and reopens the relay log files.
+ SLOW closes and reopens the slow query log file.
Thanks to Eric Bergen for the patch to implement this
feature.
(Bug#14104: http://bugs.mysql.com/bug.php?id=14104)
* Previously, prepared CALL statements could be used via
the C API only for stored procedures that produce at most
one result set, and applications could not use
placeholders for OUT or INOUT parameters. For prepared
CALL statements used via PREPARE and EXECUTE,
placeholders could not be used for OUT or INOUT
parameters.
For the C API, prepared CALL support now is expanded in
the following ways:
+ A stored procedure can produce any number of result
sets. The number of columns and the data types of
the columns need not be the same for all result
sets.
+ The final values of OUT and INOUT parameters are
available to the calling application after the
procedure returns. These parameters are returned as
an extra single-row result set following any result
sets produced by the procedure itself. The row
contains the values of the OUT and INOUT parameters
in the order in which they are declared in the
procedure parameter list.
+ A new C API function, mysql_stmt_next_result(), is
available for processing stored procedure results.
See Section 21.9.15, "C API Support for Prepared
CALL Statements."
+ The CLIENT_MULTI_RESULTS flag now is enabled by
default. It no longer needs to be enabled when you
call mysql_real_connect(). (This flag is necessary
for executing stored procedures because they can
produce multiple result sets.)
For PREPARE and EXECUTE, placeholder support for OUT and
INOUT parameters is now available. See Section 12.2.1,
"CALL Syntax."
(Bug#11638: http://bugs.mysql.com/bug.php?id=11638,
Bug#17898: http://bugs.mysql.com/bug.php?id=17898)
* Three options were added to mysqldump make it easier to
generate a dump from a slave server:
+ --dump-slave is similar to --master-data, but the
CHANGE MASTER TO statement contains binary log
coordinates for the slave's master host, not the
slave itself.
+ --apply-slave-statements causes STOP SLAVE and START
SLAVE statements to be added before the CHANGE
MASTER TO statement and at the end of the output,
respectively.
+ --include-master-host-port causes the CHANGE MASTER
TO statement to include MASTER_PORT and MASTER_HOST
options for the slave's master.
(Bug#8368: http://bugs.mysql.com/bug.php?id=8368)
* mysqladmin now allows the password value to be omitted
following the password command. In this case, mysqladmin
prompts for the password value, which enables you to
avoid specifying the password on the command line.
Omitting the password value should be done only if
password is the final command on the mysqladmin command
line. Otherwise, the next argument is taken as the
password.
(Bug#5724: http://bugs.mysql.com/bug.php?id=5724)
* The server now provides a pluggable audit interface that
enables information about server operations to be
reported to interested parties. Audit plugins may
register with the audit interface to receive notification
about server operations. When an auditable event occurs
within the server, the server determines whether
notification is needed. For each registered audit plugin,
the server checks the event against those event classes
in which the plugin is interested and passes the event to
the plugin if there is a match. For more information, see
Section 22.2.3.3, "Audit Plugins."
* Some conversions between Japanese character sets are more
efficient.
* When the server detects MyISAM table corruption, it now
writes additional information to the error log, such as
the name and line number of the source file, and the list
of threads accessing the table. Example: Got an error
from thread_id=1, mi_dynrec.c:368. This is useful
information to include in bug reports.
* The TABLESPACES table has been added to
INFORMATION_SCHEMA for tracking tablespace details.
* Added the PARAMETERS table to INFORMATION_SCHEMA. The
PARAMETERS table provides information about stored
function and procedure parameters, and about return
values for stored functions.
* The maximum length of table comments was extended from 60
to 2048 characters. The maximum length of column comments
was extended from 255 to 1024 characters. Index
definitions now can include a comment of up to 1024
characters.

Bugs fixed:

If you see this text instead of a list of actual fixes, you are
receiving this message through one of our lists that limits
message length to 50000 bytes. Please refer to the web version
of the changelog for a full list of fixes:

http://dev.mysql.com/doc/refman/5.5/en/news-5-5-3.html