オリジナル版:http://dev.mysql.com/doc/refman/5.1/en/news-5-1-12.html
最も普及しているオープンソースデータベース管理システムであるMySQL 5.1.12ベータ版がリリースされました。
これはベータ版であり、他の多くの試作商品リリースと同様、商品レベルのシステムまたは、重要なデータを含むシステムに対してインストールしないように注意してください。商品レベルのシステムについては、以下のMySQL Enterpriseの商品説明のページをご覧ください。
http://mysql.com/products/enterprise/
MySQL 5.1.12ベータ版は、http://dev.mysql.com/downloads/とミラーサイトのダウンロード・ページから、ソースコード及び多くのプラットフォームのためのバイナリで現在利用可能です。
すべてのミラーサイトが現在、最新であるとは限らないことに注意してください。
あるミラーサイトでこのバージョンを見つけることができない場合は、再度確認を行うか、あるいは別のダウンロード・サイトを選択してください。
バグレポート、バグ修正、パッチ等の情報をお待ちしておりますので、以下のページをご利用ください。
http://forge.mysql.com/wiki/Contributing
これはベータ版であり、以前のリリース以来行なわれたいくつかの非互換性の変更があります。また、バグ修正の数が500以上と非常に多く、ここに記載できません。詳細は、以下のページをご覧ください。
http://dev.mysql.com/doc/refman/5.1/en/news-5-1-12.html
機能が追加あるいは変更された内容の抜粋についても記載いたします。
以下は、追加または変更された機能です。
* Incompatible change: Support for the BerkeleyDB (BDB) engine
has been dropped from this release. Any existing tables that
are in BDB format will not be readable from within MySQL from
5.1.12 or newer. You should convert your BDB tables to another
storage engine before upgrading to 5.1.12.
* Incompatible change: The namespace for scheduled events has
changed, such that events are no longer unique to individual
users. This also means that a user with the EVENT privilege on
a given database can now view, alter, or drop any events
defined on that database.
If you used scheduled events in an earlier MySQL 5.1 release,
you should rename any of them having the same name and defined
on the same database but belonging to different users --- so
that all events in a given database have unique names ---
before upgrading to 5.1.12 (or newer).
For additional information, see Section 20.5, "The Event
Scheduler and MySQL Privileges."
* Incompatible change: The permitted values for and behaviour of
the event_scheduler system variable have changed. Permitted
values are now ON, OFF, and DISABLED, with OFF being the
default. It is not possible to change its value to or from
DISABLED while the server is running.
For details, see Section 20.1, "Event Scheduler Overview."
* Incompatible change: The full-text parser plugin interface has
changed in two ways:
+ The MYSQL_FTPARSER_PARAM structure has a new flags
member. This is zero if there are no special flags, or
MYSQL_FTFLAGS_NEED_COPY, which means that
mysql_add_word() must save a copy of the word (that is,
it cannot use a pointer to the word because the word is
in a buffer that will be overwritten.)
This flag might be set or reset by MySQL before calling
the parser plugin, by the parser plugin itself, or by the
mysql_parse() function.
+ The mysql_parse() and mysql_add_word() functions now take
a MYSQL_FTPARSER_PARAM as their first argument, not a
MYSQL_FTPARSER_PARAM::mysql_ftparam as before.
These changes are not backward compatible, so the API version
(MYSQL_FTPARSER_INTERFACE_VERSION) has changed. For additional
information, see Section 26.2.5, "Writing Plugins."
* Incompatible change: In the INFORMATION_SCHEMA.EVENTS table,
the EVENT_DEFINITION column now contains the SQL executed by a
scheduled event.
The EVENT_BODY column now contains the language used for the
statement or statements shown in EVENT_DEFINITION. In MySQL
5.1, the value shown in EVENT_BODY is always SQL.
These changes were made to bring this table into line with the
INFORMATION_SCHEMA.ROUTINES table, and that table's
ROUTINE_BODY and ROUTINE_DEFINITION columns.
(Bug#16992:http://bugs.mysql.com/16992)
* Incompatible change: MySQL Cluster node and system restarts
formerly required that all fragments use the same local
checkpoint (LCP); beginning with this version, it is now
possible for different fragments to use different LCPs during
restarts. This means that data node filesystems must be
rebuilt as part of any upgrade to this version by restarting
all data nodes with the --initial option.
(Bug#21271:http://bugs.mysql.com/21271,
Bug#21478:http://bugs.mysql.com/21478)
See Section 15.5.2, "Cluster Upgrade and Downgrade
Compatibility," and related sections of the Manual before
upgrading a MySQL Cluster to version 5.1.12 or later.
* Incompatible change: A number of MySQL constructs are now
prohibited in partitioning expressions, beginning with this
release. These include:
+ A number of MySQL functions.
You can find [1714]a complete list of these functions
under Partitioning Limitation.
+ The bit operators |, &, ^, <<, >>, and ~.
+ Nested function calls.
+ Calls to stored routines, UDFs, or plugins.
+ Character-to-integer conversions involving non-8-bit
character sets or any of the latin1_german2_ci,
latin2_czech_cs, or cp1250_czech_cs collations.
These restrictions were added in part as a result of
Bug#18198:http://bugs.mysql.com/18198and related bug
reports.
For more information about these and other restrictions on
partitioned tables in MySQL, see Section 16.5, "Restrictions
and Limitations on Partitioning."
* The general query log and slow query logs now can be enabled
or disabled at runtime with the general_log and slow_query_log
system variables, and the name of the log files can be changed
by setting the general_log_file and slow_query_log_file system
variables. See Section 5.12.3, "The General Query Log," and
Section 5.12.5, "The Slow Query Log."
* The output generated by the server when using the --xml option
has changed with regard to null values. It now matches the
output from mysqldump --xml. That is, a column containing a
NULL value is now reported as
<field name="column_name" xsi:nil="true" />
whereas a column containing the string value 'NULL' is
reported as
<field name="column_name">NULL</field>
and a column containing an empty string is reported as
<field name="column_name">>/field>
(Bug#21263:http://bugs.mysql.com/21263)
* The following statements now can be executed as prepared
statements (using PREPARE plus EXECUTE):
CACHE INDEX
CHANGE MASTER
CHECKSUM {TABLE | TABLES}
{CREATE | RENAME | DROP} DATABASE
{CREATE | RENAME | DROP} USER
FLUSH {TABLE | TABLES | TABLES WITH READ LOCK | HOSTS | PRIVILEGES
| LOGS | STATUS | MASTER | SLAVE | DES_KEY_FILE | USER_RESOURCES}
GRANT
REVOKE
KILL
LOAD INDEX INTO CACHE
RESET {MASTER | SLAVE | QUERY CACHE}
SHOW BINLOG EVENTS
SHOW CREATE {PROCEDURE | FUNCTION | EVENT | TABLE | VIEW}
SHOW {AUTHORS | CONTRIBUTORS | WARNINGS | ERRORS}
SHOW {MASTER | BINARY} LOGS
SHOW {MASTER | SLAVE} STATUS
SLAVE {START | STOP}
INSTALL PLUGIN
UNINSTALL PLUGIN
(Bug#20665:http://bugs.mysql.com/20665)
* The Instance Manager --passwd option has been renamed to
--print-password-line. Other options were added to enable
management of the IM password file from the command line:
--add-user, --drop-user, --edit-user, --list-users,
--check-password-file, --clean-password-file, --username, and
--password. The --mysql-safe-compatible option was added to
cause the Instance Manner to act similarly to mysqld_safe.
* On Windows, typing Control-C caused the mysql client to crash.
Now it causes mysql to attempt to kill the current statement.
If this cannot be done, or Control-C is typed again before the
statement is killed, mysql exits.
(Bug#17926:http://bugs.mysql.com/17926; see also
Bug#1989:http://bugs.mysql.com/1989)
* TEXT and BLOB columns do not support DEFAULT values. However,
when a default of '' was specified, the specification was
silently ignored. This now results in a warning, or an error
in strict mode. (Bug#19498:http://bugs.mysql.com/19498)
* The mysql client now allows \l in the prompt command argument
to insert the current delimiter into the prompt.
(Bug#14448:http://bugs.mysql.com/14448)
* Log table changes: By default, the log tables use the CSV
storage engine, as before. But now the log tables can be
altered to use the MyISAM storage engine. You cannot use ALTER
TABLE to alter a log table that is in use. The log must be
disabled first. No engines other than CSV or MyISAM are legal
for the log tables. The use of DROP TABLE for log tables is
similarly restricted: It cannot be used to drop a log table
that is in use. The log must be disabled first. (These changes
also correct a deadlock that occurred for an attempt to drop
an in-use log table.) (Bug#18559:http://bugs.mysql.com/18559)
* The LEFT() and RIGHT() functions return NULL if any argument
is NULL. (Bug#11728:http://bugs.mysql.com/11728)
* EXPLAIN EXTENDED now shows a filtered column that is an
estimated percentage of the examined rows that will be joined
with the previous tables.
(Bug#14940:http://bugs.mysql.com/14940)
* For mysqlshow, if a database name argument contains wildcard
characters (such as `_') but matches a single database name
exactly, treat the name as a literal name. This allows a
command such as mysqlshow information_schema work without
having to escape the wildcard character.
(Bug#19147:http://bugs.mysql.com/19147)
* If a DROP VIEW statement named multiple views, it stopped with
an error if a non-existent view was named and did not drop the
remaining views. Now it continues on and reports an error at
the end, similar to DROP TABLE.
(Bug#16614:http://bugs.mysql.com/16614)
* SHOW CREATE TABLE now shows constraints for InnoDB tables.
(Bug#16614:http://bugs.mysql.com/16614)
* Added the --set-charset option to mysqlbinlog to allow the
character set to be specified for processing binary log files.
(Bug#18351:http://bugs.mysql.com/18351)
* Added the --ndb-use-copying-alter-table option to mysqld to
provide a fallback in case of problems with online ALTER TABLE
operations on NDBCluster tables.
* Added the SHOW CONTRIBUTORS statement.
* It is no longer possible to create partitioned tables using
the CSV storage engine.
* NDB Cluster: Some queries involving joins on very large NDB
tables could crash the MySQL server.
(Bug#21059:http://bugs.mysql.com/21059)
* NDB Cluster: The status variables Ndb_connected_host and
Ndb_connected_port were renamed to Ndb_config_from_host and
Ndb_config_from_port, respectively.
* NDB Cluster: A number of erroneous, misleading, or missing
error messages have been corrected.
(Bug#17297:http://bugs.mysql.com/17297&
Bug#19543:http://bugs.mysql.com/19543)
* NDB Cluster: It is no longer possible to create Cluster tables
using any partitioning type other than [LINEAR] KEY.
Attempting to do so now raises an error.
* The ExtractValue() function now produces an error when passed
an XML fragment that is not well-formed.
(Bug#18201:http://bugs.mysql.com/18201)
(Previously, the function allowed invalid XML fragments to be
used.)
* There were several issues regarding how SHOW STATUS affected
some status variables and logging which could impact
monitoring the MySQL Server. The behavior of this statement
has been modified in two ways:
+ SHOW STATUS is no longer logged to the slow query log.
+ SHOW STATUS no longer updates any session status
variables, except for com_show_status.
However, SHOW STATUS continues to update global status
variables to allow monitoring of what the server is actually
doing. This is because SHOW STATUS creates temporary tables
that may affect performance if it is called excessively often.
(Bug#10210:http://bugs.mysql.com/10210,
Bug#19764:http://bugs.mysql.com/19764)
* The mysqldumpslow script has been moved from client RPM
packages to server RPM packages. This corrects a problem where
mysqldumpslow could not be used with a client-only RPM
install, because it depends on my_print_defaults which is in
the server RPM. (Bug#20216:http://bugs.mysql.com/20216)
* The bundled yaSSL library was upgraded to version 1.3.7.
* The bundled yaSSL library licensing has added a FLOSS
exception similar to MySQL to resolve licensing
incompatibilities with MySQL. (See the
extra/yassl/FLOSS-EXCEPTIONS file in a MySQL source
distribution for details.)
(Bug#16755:http://bugs.mysql.com/16755)
* mysqlslap threads now try to connect up to 10 times if the
initial connect attempt fails.
(Bug#21297:http://bugs.mysql.com/21297)
* For a successful dump, mysqldump now writes a SQL comment to
the end of the dump file in the following format:
-- Dump completed on YYYY-MM-DD hh:mm:ss
(Bug#10877:http://bugs.mysql.com/10877)
* The mysqld and mysqlmanager manpages have been reclassified
from volume 1 to volume 8.
(Bug#21220:http://bugs.mysql.com/21220)
* In the INFORMATION_SCHEMA.ROUTINES table the
ROUTINE_DEFINITION column now is defined as NULL rather than
NOT NULL. Also, NULL rather than the empty string is returned
as the column value if the user does not have sufficient
privileges to see the routine definition.
(Bug#20230:http://bugs.mysql.com/20230)
* configure now defines the symbol DBUG_ON in config.h to
indicate whether the source tree is configured to be compiled
with debugging support.
(Bug#19517:http://bugs.mysql.com/19517)
* The MySQL distribution now compiles on UnixWare 7.13.
(Bug#20190:http://bugs.mysql.com/20190)
* The mysql client used the default character set if it
automatically reconnected to the server, which is incorrect if
the character set had been changed. To enable the character
set to remain synchronized on the client and server, the mysql
command charset (or \C) that changes the default character set
and now also issues a SET NAMES statement. The changed
character set is used for reconnects.
(Bug#11972:http://bugs.mysql.com/11972)
* The STATE column of the INFORMATION_SCHEMA.PROCESSLIST table
was increased from 30 to 64 characters to accommodate longer
state values. (Bug#21652:http://bugs.mysql.com/21652)
* TIMESTAMP columns that are NOT NULL now are reported that way
by SHOW COLUMNS and INFORMATION_SCHEMA.
(Bug#20910:http://bugs.mysql.com/20910)
* INFORMATION_SCHEMA contains new tables, GLOBAL_STATUS,
SESSION_STATUS, GLOBAL_VARIABLES, and SESSION_VARIABLES, that
correspond to the output from the SHOW {GLOBAL|SESSION} STATUS
and SHOW {GLOBAL|SESSION} VARIABLES statements.
* The BINARY keyword now is forbidden as a data type attribute
in stored routines (for example, DECLARE v1 VARCHAR(25)
BINARY), because DECLARE does not support collations, and in
this context BINARY specifies the binary collation of the
variable's character set.
(Bug#20701:http://bugs.mysql.com/20701)
* The source distribution has been updated so that the UDF
example can be compiled under Windows with CMake. See Section
26.3.4.5, "Compiling and Installing User-Defined Functions."
(Bug#19121:http://bugs.mysql.com/19121)
* LOAD DATA INFILE no longer causes an implicit commit for all
storage storage engines. It now causes an implicit commit only
for tables using the NDB storage engine.
(Bug#11151:http://bugs.mysql.com/11151)
* The LOAD DATA FROM MASTER and LOAD TABLE FROM MASTER
statements are deprecated. See Section 13.6.2.2, "LOAD DATA
FROM MASTER Syntax," for recommended alternatives.
(Bug#18822:http://bugs.mysql.com/18822)
* mysqldump now has a --flush-privileges option. It causes
mysqldump to emit a FLUSH PRIVILEGES statement after dumping
the mysql database. This option should be used any time the
dump contains the mysql database and any other database that
depends on the data in the mysql database for proper
restoration. (Bug#21424:http://bugs.mysql.com/21424)
* The default value of the tmp_table_size system variable was
lowered from 32MB to 16MB because it is bounded by the value
of max_heap_table_size, which has a default of 16MB.
(Bug#18875:http://bugs.mysql.com/18875)
* The number of InnoDB threads is no longer limited to 1,000 on
Windows. (Bug#22268:http://bugs.mysql.com/22268)
* Memory consumption of the InnoDB data dictionary cache was
roughly halved by cleaning up the data structures.
(Bug#20877:http://bugs.mysql.com/20877)
And we've also gotten some feedback:
MySQL 5.1.12 delivers several important improvements to ease the
creation of Pluggable Storage Engines" says Paul McCullagh, the lead
developer behind the Primebase XT Storage Engine for MySQL (PBXT), "we
are very excited about this new public release." PBXT 0.9.27 is now in
Beta Test and requires MySQL 5.1.12 (or later) and can be obtained from
http://primebase.com/xt/