This is a new Beta development release, fixing recently discovered bugs.
NOTE: This Beta release, as any other pre-production release, should not be installed on production level systems or systems with critical data. It is good practice to back up your data before installing any new version of software. Although MySQL has worked very hard to ensure a high level of quality, protect your data by making a backup as you would for any software beta release. Please refer to our bug database at http://bugs.mysql.com/ for more details about the individual bugs fixed in this version.
この項目は前回のMySQL公式リリース以降に適用されたすべての変更とバグ修正を説明します。更に頻繁でありご使用のバージョンと機能に合わせた更新情報を希望される場合には、MySQLエンタープライズ(商用版MySQL)への登録をお考えください。詳細は、http://www.mysql.com/products/enterpriseをご覧下さい。
Functionality added or changed:
          Incompatible change: The
          following conditions apply to enabling the
          read_only system variable:
        
              If you attempt to enable read_only
              while you have any explicit locks (acquired with
              LOCK TABLES or have a pending
              transaction, an error will occur.
            
              If other clients hold explicit table locks or have pending
              transactions, the attempt to enable
              read_only blocks until the locks are
              released and the transactions end. While the attempt to
              enable read_only is pending, requests
              by other clients for table locks or to begin transactions
              also block until read_only has been
              set.
            
              read_only can be enabled while you hold
              a global read lock (acquired with FLUSH TABLES
              WITH READ LOCK) because that does not involve
              table locks.
            
          Previously, the attempt to enable read_only
          would return immediately even if explicit locks or
          transactions were pending, so some data changes could occur
          for statements executing in the server at the same time. (Bug#11733, Bug#22009)
        
          Incompatible change:
          Previously, the DATE_FORMAT() function
          returned a binary string. Now it returns a string with a
          character set and collation given by
          character_set_connection and
          collation_connection so that it can return
          month and weekday names containing non-ASCII characters. (Bug#22646)
        
          Important: When using
          MERGE tables the definition of the
          MERGE table and the
          MyISAM tables are checked each time the
          tables are opened for access (including any
          SELECT or INSERT
          statement. Each table is compared for column order, types,
          sizes and associated. If there is a difference in any one of
          the tables then the statement will fail.
        
          Remote servers for use with the FEDERATED
          storage engine now can be managed with the new
          CREATE/ALTER/DROP SERVER syntax.
        
          The --skip-thread-priority option now is
          enabled by default for binary Mac OS X distributions. Use of
          thread priorities degrades performance on Mac OS X. (Bug#18526)
        
          Added the --disable-grant-options option to
          configure. If configure
          is run with this option, the --bootstrap,
          --skip-grant-tables, and
          --init-file options for
          mysqld are disabled and cannot be used. For
          Windows, the configure.js script recognizes
          the DISABLE_GRANT_OPTIONS flag, which has
          the same effect.
        
          Partitioning of tables using the FEDERATED
          storage engine is no longer permitted. Attempting to create
          such a table or to modify an existing table so that is uses
          both partitioning and FEDERATED now fails
          with an error. (Bug#22451)
        
          In MySQL 5.1, InnoDB rolls
          back only the last statement on a transaction timeout. A new
          option, --innodb_rollback_on_timeout, causes
          InnoDB to abort and roll back the entire
          transaction if a transaction timeout occurs (the same behavior
          as in MySQL 4.1). (Bug#24200)
        
          The Com_create_user status variable was
          added (for counting CREATE USER
          statements). (Bug#22958)
        
          The --memlock option relies on system calls
          that are unreliable on some operating systems. If a crash
          occurs, the server now checks whether
          --memlock was specified and if so issues some
          information about possible workarounds. (Bug#22860)
        
          The default value of the max_connections
          variable has been increased to 151 in order that Websites
          running on Apache and using MySQL will not have more processes
          trying to access MySQL than the default number of connections
          available.
        
          (The maximum number of Apache processes is determined by the
          Apache MaxClient, which defaults to 256,
          but is usually set to 150 in the
          httpd.conf commonly distributed with
          Apache. For more information about
          MaxClient, see
          http://httpd.apache.org/docs/2.2/mod/mpm_common.html#maxclients.)
        
The bundled yaSSL library was upgraded to version 1.5.0.
Calling a non-deterministic stored routine when using statement-based replication now throws an error. Formerly, defining such a stored routine would cause an error to be thrown. (Bug#16456)
          The (undocumented) UNIQUE_USERS() and and
          GROUP_UNIQUE_USERS() functions were
          removed. (Bug#22687)
        
          NDB Cluster: The
          LockPagesInMainMemory configuration
          parameter has changed its type and possible values. For more
          information, see
          LockPagesInMainMemory.
          (Bug#25686)
        
          Important: The values
          true and false are no
          longer accepted for this parameter. If you were using this
          parameter and had it set to false in a
          previous release, you must change it to 0.
          If you had this parameter set to true, you
          should instead use 1 to obtain the same
          behavior as previously, or 2 to take
          advantage of new functionality introduced with this release
          described in the section cited above.
        
Bugs fixed:
          mysqld_multi and
          mysqlaccess looked for option files in
          /etc even if the
          --sysconfdir option for
          configure had been given to specify a
          different directory. (Bug#24780)
        
          SHOW COLUMNS reported some NOT
          NULL columns as NULL. (Bug#22377)
        
          Attempts to access a MyISAM table with a
          corrupt column definition caused a server crash. (Bug#24401)
        
mysqltest_embedded crashed at startup. (Bug#25890)
Accessing a fixed record format table with a crashed key definition results in server/myisamchk segmentation fault. (Bug#24855)
          When opening a corrupted .frm file during
          a query, the server crashes. (Bug#24358)
        
          If there was insufficient memory to store or update a blob
          record in a MyISAM table then the table
          will marked as crashed. (Bug#23196)
        
          When updating a table that used a JOIN of
          the table itself (for example, when building trees) and the
          table was modified on one side of the expression, the table
          would either be reported as crashed or the wrong rows in the
          table would be updated. (Bug#21310)
        
          When SET PASSWORD was written to the binary
          log double quotes were included in the statement. If the slave
          was running in with the sql_mode set to
          ANSI_QUOTES the event would fail and halt
          the replication process. (Bug#24158)
        
          Using CREATE TABLE ... SELECT and rolling
          back the transaction would leave an empty table on the master,
          but the instructions would not be recorded in the binary log
          and therefore replicated to the slave. This would result in a
          difference between the master and slave databases. An implicit
          commit has been added to ensure consistency. (Bug#22865)
        
When reading from the standard input on Windows, mysqlbinlog opened the input in text mode rather than binary mode and consequently misinterpreted some characters such as Control-Z. (Bug#23735)
          No warning was issued for use of the DATA
          DIRECTORY or INDEX DIRECTORY
          table options on a platform that does not support them. (Bug#17498)
        
When a prepared statement failed during the prepare operation, the error code was not cleared when it was reused, even if the subsequent use was successful. (Bug#15518)
          mysql_upgrade failed when called with a
          basedir pathname containing spaces. (Bug#22801)
        
Hebrew-to-Unicode conversion failed for some characters. Definitions for the following Hebrew characters (as specified by the ISO/IEC 8859-8:1999) were added: LEFT-TO-RIGHT MARK (LRM), RIGHT-TO-LEFT MARK (RLM) (Bug#24037)
If there was insufficient memory available to mysqld, this could sometimes cause the server to hang during startup. (Bug#24751)
          Using row-based replication to replicate to a table having at
          least one extra BIT column with a default
          value on the slave as compared to the master could cause the
          slave to fail. (Bug#24490)
        
          Optimizations that are legal only for subqueries without
          tables and WHERE conditions were applied
          for any subquery without tables. (Bug#24670)
        
          A query using WHERE
           could
          cause the server to crash. (Bug#24261)
        unsigned_column NOT IN
          ('negative_value')
          A FETCH statement using a cursor on a table
          which was not in the table cache could sometimes cause the
          server to crash. (Bug#24117)
        
          CREATE TABLE ... SELECT statements were not
          rolled back correctly. As part of the fix, such a statement
          now causes an implicit commit before and after it is executed.
          However, it does not cause a commit when used to create a
          temporary table. (Bug#22864)
        
SSL connections could hang at connection shutdown. (Bug#24148)
          The STDDEV() function returned a positive
          value for data sets consisting of a single value. (Bug#22555)
        
mysqltest incorrectly tried to retrieve result sets for some queries where no result set was available. (Bug#19410)
mysqltest crashed with a stack overflow. (Bug#24498)
          The server was built even when configure
          was run with the --without-server option.
          (Bug#23973)
        
          mysqld_error.h was not installed when
          only the client libraries were built. (Bug#21265)
        
          mysql_install_db did not create the
          mysql.plugin table if strict SQL mode was
          enabled. (Bug#24270)
        
          The row count for MyISAM tables was not
          updated properly, causing SHOW TABLE STATUS
          to report incorrect values. (Bug#23526)
        
          Using a view in combination with a USING
          clause caused column aliases to be ignored. (Bug#25106)
        
          Using ALTER TABLE to convert a
          CSV table containing
          NULL values to MyISAM
          resulted in warnings. (Bug#21328)
        
          A view was not handled correctly if the
          SELECT part contained
          ‘\Z’. (Bug#24293)
        
          Inserting a row into a table without specifying a value for a
          BINARY( column caused the column to be set to spaces,
          not zeroes. (Bug#14171)
        N) NOT
          NULL
An assertion failed incorrectly for prepared statements that contained a single-row non-correlated subquery that was used as an argument of the IS NULL predicate. (Bug#25027)
          A table created with the ROW_FORMAT = FIXED
          table option loses the option if an index is added or dropped
          with CREATE INDEX or DROP
          INDEX. (Bug#23404)
        
          Dropping a user-defined function sometimes did not remove the
          UDF entry from the mysql.proc table. (Bug#15439)
        
The BUILD/check-cpu script did not recognize Celeron processors. (Bug#20061)
Some problems uncovered by Valgrind were fixed. (Bug#25396)
mysql_fix_privilege_tables did not handle a password containing embedded space or apostrophe characters. (Bug#17700)
          On Windows, the SLEEP() function could
          sleep too long, especially after a change to the system clock.
          (Bug#14094, Bug#17635, Bug#24686)
        
          In the INFORMATION_SCHEMA.KEY_COLUMN_USAGE
          table, the value displayed for the
          REFERENCED_TABLE_NAME column was the table
          name as encoded for disk storage, not the actual table name.
          (Bug#25026)
        
          Changing the value of MI_KEY_BLOCK_LENGTH
          in myisam.h and recompiling MySQL
          resulted in a myisamchk that saw existing
          MyISAM tables as corrupt. (Bug#22119)
        
A stored routine containing semicolon in its body could not be reloaded from a dump of a binary log. (Bug#20396)
          For SET, SELECT, and
          DO statements that invoked a stored
          function from a database other than the default database, the
          function invocation could fail to be replicated. (Bug#19725)
        
          For ENUM columns defined such that
          enumeration values contained commas, the commas were mapped to
          0xff. (Bug#24660)
        
          Upgrade note: The fix for
          this problem affects tables containing ENUM
          columns that actually do have 0xff in
          enumeration values. Such tables should be dumped using
          mysqldump with the current server before
          upgrading to MySQL 5.1.15 or higher and reloading the tables.
        
          SET lc_time_names =
           allowed only exact
          literal values, not expression values. (Bug#22647)
        value
          Changes to the lc_time_names system
          variable were not replicated. (Bug#22645)
        
          SELECT ... FOR UPDATE, SELECT ...
          LOCK IN SHARE MODE, DELETE, and
          UPDATE statements executed using a full
          table scan were not releasing locks on rows that did not
          satisfy the WHERE condition. (Bug#20390)
        
A stored procedure, executed from a connection using a binary character set, and which wrote multibyte data, would write incorrectly escaped entries to the binary log. This caused syntax errors, and caused replication to fail. (Bug#23619, Bug#24492)
mysqldump --order-by-primary failed if the primary key name was an identifier that required quoting. (Bug#13926)
          Re-execution of CREATE DATABASE,
          CREATE TABLE, and ALTER
          TABLE statements in stored routines or as prepared
          statements caused incorrect results. (Bug#22060)
        
The internal functions for table preparation, creation, and alteration were not re-execution friendly, causing problems in code that: repeatedly altered a table; repeatedly created and dropped a table; opened and closed a cursor on a table, altered the table, and then reopened the cursor. (Bug#4968, Bug#6895, Bug#19182, Bug#19733)
          A workaround was implemented to avoid a race condition in the
          NPTL pthread_exit() implementation. (Bug#24507)
        
          The Instance Manager DROP INSTANCE command
          did not work. (Bug#23476)
        
          The Instance Manager STOP INSTANCE command
          took too much time and caused Instance Manager to be
          unresponsive. (Bug#23215)
        
          The Instance Manager STOP INSTANCE command
          could not be applied to instances in the
          Crashed, Failed, or
          Abandoned state. (Bug#22306)
        
Instance Manager could crash during shutdown. (Bug#19044)
          A deadlock could occur, with the server hanging on
          Closing tables, with a sufficient number of
          concurrent INSERT DELAYED, FLUSH
          TABLES, and ALTER TABLE
          operations. (Bug#23312)
        
A user-defined variable could be assigned an incorrect value if a temporary table was employed in obtaining the result of the query used to determine its value. (Bug#16861)
          The optimizer removes expressions from GROUP
          BY and DISTINCT clauses if they
          happen to participate in
          expression =
          constantWHERE clause, the idea being that, if
          the expression is equal to a constant, then it cannot take on
          multiple values. However, for predicates where the expression
          and the constant item are of different result types (for
          example, when a string column is compared to 0), this is not
          valid, and can lead to invalid results in such cases. The
          optimizer now performs an additional check of the result types
          of the expression and the constant; if their types differ,
          then the expression is not removed from the GROUP
          BY list. (Bug#15881)
        
          Referencing an ambiguous column alias in an expression in the
          ORDER BY clause of a query caused the
          server to crash. (Bug#25427)
        
          Some CASE statements inside stored routines
          could lead to excessive resource usage or a crash of the
          server. (Bug#24854, Bug#19194)
        
Some joins in which one of the joined tables was a view could return erroneous results or crash the server. (Bug#24345)
          OPTIMIZE TABLE tried to sort R-tree indexes
          such as spatial indexes, although this is not possible (see
          項12.5.2.5. 「OPTIMIZE TABLE 構文」). (Bug#23578)
        
          User-defined variables could consume excess memory, leading to
          a crash caused by the exhaustion of resources available to the
          MEMORY storage engine, due to the fact that
          this engine is used by MySQL for variable storage and
          intermediate results of GROUP BY queries.
          Where SET had been used, such a condition
          could instead give rise to the misleading error message
          You may only use constant expressions with
          SET, rather than Out of memory (Needed
          NNNNNN bytes). (Bug#23443)
        
          InnoDB: During a restart of the MySQL
          Server that followed the creation of a temporary table using
          the InnoDB storage engine, MySQL failed to
          clean up in such a way that InnoDB still
          attempted to find the files associated with such tables. (Bug#20867)
        
          Under some circumstances, a REORGANIZE
          PARTITION statement could crash
          mysqld. (Bug#24502)
        
          A multi-table DELETE QUICK could sometimes
          cause one of the affected tables to become corrupted. (Bug#25048)
        
          A compressed MyISAM table that became
          corrupted could crash myisamchk and
          possibly the MySQL Server. (Bug#23139)
        
          Using INSTALL PLUGIN followed by a restart
          of the server caused an error due to memory not being properly
          initialized. (Bug#22694)
        
          A crash of the MySQL Server could occur when unpacking a
          BLOB column from a row in a corrupted
          MyISAM table. This could happen when trying to repair a table
          using either REPAIR TABLE or
          myisamchk; it could also happen when trying
          to access such a 「broken」 row using statements
          like SELECT if the table was not marked as
          crashed. (Bug#22053)
        
          The FEDERATED storage engine did not
          support the euckr character set. (Bug#21556)
        
          The FEDERATED storage engine did not
          support the utf8 character set. (Bug#17044)
        
          mysql_upgrade failed if the
          --password (or -p) option
          was given. (Bug#24896)
        
          For a nonexistent table, DROP TEMPORARY
          TABLE failed with an incorrect error message if
          read_only was enabled. (Bug#22077)
        
          The code for generating USE statements for
          binary logging of CREATE PROCEDURE
          statements resulted in confusing output from
          mysqlbinlog for DROP
          PROCEDURE statements. (Bug#22043)
        
          The REPEAT() function could return
          NULL when passed a column for the count
          argument. (Bug#24947)
        
          Accuracy was improved for comparisons between
          DECIMAL columns and numbers represented as
          strings. (Bug#23260)
        
          InnoDB crashed while performing XA recovery
          of prepared transactions. (Bug#21468)
        
          ROW_COUNT() did not work properly as an
          argument to a stored procedure. (Bug#23760)
        
          It was possible to use DATETIME values
          whose year, month, and day parts were all zeroes but whose
          hour, minute, and second parts contained nonzero values, an
          example of such an illegal DATETIME being
          '0000-00-00 11:23:45'. (Bug#21789)
        
          It was possible to set the backslash character (「
          \ 」) as the delimiter character
          using DELIMITER, but not actually possible
          to use it as the delimiter. (Bug#21412)
        
          ALTER ENABLE KEYS or ALTER TABLE
          DISABLE KEYS combined with another ALTER
          TABLE option other than RENAME TO
          did nothing. In addition, if ALTER TABLE was used on a table
          having disabled keys, the keys of the resulting table were
          enabled. (Bug#24395)
        
          An ALTER TABLE statement that used a
          RENAME clause in combination with a
          MODIFY or CHANGE that
          did not actually change the table (for example, when it
          changed a column's type from INT to
          INT). The behavior caused by this bug
          differed according to whether or not the storage engine used
          by the table was transactional or non-transactional. For
          transactional tables (such as those using the
          InnoDB storage engine), the statement
          simply failed; for non-transactional tables (such as those
          using the MyISAM storage engine), the
          ALTER TABLE statement succeeding renaming
          the table, but subsequent SELECT statements
          against the renamed table would fail. (Bug#22369)
        
          Queries of the form SELECT ... WHERE
           failed
          when the server used a single-byte character set and the
          client used a multi-byte character set. (Bug#20835)
        string = ANY(...)
          A partitioned table that used the DATA
          DIRECTORY option, where the data directory was the
          same as the directory in which the table definition file
          resided, became corrupted following ALTER TABLE
          ENGINE=ARCHIVE. This was actually due to an issue
          with the ARCHIVE storage engine, and not
          with partitioned tables in general. (Bug#22634)
        
          NDB Cluster (Cluster APIs): Deletion of an
          Ndb_cluster_connection object took a very
          long time. (Bug#25487)
        
          NDB Cluster (Replication): Certain errors
          in replication setups could lead to subsequent node failures.
          (Bug#25755)
        
          NDB Cluster (Replication): Connecting a
          mysqld to a cluster where not all nodes
          were running, starting the remaining cluster nodes, and then
          disconnecting from the cluster caused the
          mysqld process to crash. (Bug#25387)
        
          NDB Cluster (Replication): Connecting an
          API node to the cluster during a node restart while performing
          database operations could cause the restarting node to fail.
          (Bug#25329)
        
          NDB Cluster (Disk Data): Following 3 or
          more missed local checkpoints by a cluster node, a restart of
          the node caused incorrect undo information to be used for Disk
          Data tables. (Bug#25636)
        
          NDB Cluster (Disk Data): Issuing a
          TRUNCATE statement on a Disk Data table
          caused the table to become an in-memory table. (Bug#25296)
        
          NDB Cluster (Disk Data): Changing a column
          specification on a Disk Data table caused the table to become
          an in-memory table. (Bug#24667)
        
          NDB Cluster: It was not possible to create
          an NDB table with a key on two
          VARCHAR columns where both columns had a
          storage length in excess of 256. (Bug#25746)
        
          NDB Cluster: Hosts in clusters with a large
          number of nodes could experience excessive CPU usage while
          obtaining configuration data. (Bug#25711)
        
          NDB Cluster: In some circumstances,
          shutting down the cluster could cause connected
          mysqld processes to crash. (Bug#25668)
        
          NDB Cluster: Non-32-bit, non-aligned
          columns were not handled correctly in explicitly partitioned
          NDB tables. (Bug#25587)
        
          NDB Cluster: Some aggregate queries such as
          SELECT COUNT(*) performed a table scan on
          NDB tables rather than checking table
          statistics, causing such queries to perform much more slowly
          in MySQL Cluster 5.1 than in 5.0. (Bug#25567)
        
          NDB Cluster: Memory allocations for
          TEXT columns were calculated incorrectly,
          resulting in space being wasted and other issues. (Bug#25562)
        
          NDB Cluster: The failure of a master node
          during a node restart could lead to a resource leak, causing
          later node failures. (Bug#25554)
        
          NDB Cluster: The failure of a node during a
          local checkpoint could lead to other node failures. (Bug#25468)
        
          NDB Cluster: A node shutdown occurred if
          the master failed during a commit. (Bug#25364)
        
          NDB Cluster: Creating a non-unique index
          with the USING HASH clause silently created
          an ordered index instead of issuing a warning. (Bug#24820)
        
          NDB Cluster: The management server did not
          handle logging of node shutdown events correctly in certain
          cases. (Bug#22013)
        
          NDB Cluster: A potential memory leak in the
          NDB storage engine's handling of file
          operations was uncovered. (Bug#21858)
        
          NDB Cluster: When stopping and restarting
          multiple data nodes, the last node to be restarted would
          sometimes hang in Phase 100. (Bug#19645)
        
          NDB Cluster (NDB API): Invoking the
          NdbTransaction::execute() method using
          execution type Commit and abort option
          AO_IgnoreError could lead to a crash of the
          transaction coordinator (DBTC). (Bug#25090)
        
          NDB Cluster (NDB API): A unique index
          lookup on a non-existent tuple could lead to a data node
          timeout (error 4012). (Bug#25059)
        
          NDB Cluster (NDB API): Due to an error in
          the computation of table fragment arrays, some transactions
          might not be executed from the correct starting point. (Bug#24914)
        
          NDB Cluster (Replication): Following a
          restart of the master cluster, the latest GCI was set to 0
          upon reconnection to the slave. (Bug#21806)
        
          NDB Cluster (Disk Data): A
          MEDIUMTEXT column of a Disk Data table was
          stored in memory rather than on disk, even if the column was
          not indexed. (Bug#25001)
        
          NDB Cluster (Disk Data): Performing a node
          restart with a newly dropped Disk Data table could lead to
          failure of the node during the restart. (Bug#24917)
        
          NDB Cluster (Disk Data): When restoring
          from backup a cluster containing any Disk Data tables with
          hidden primary keys, a node failure resulted which could lead
          to a crash of the cluster. (Bug#24166)
        
          NDB Cluster (Disk Data): Repeated
          CREATE, DROP, or
          TRUNCATE in various combinations with
          system restarts between these operations could lead to the
          eventual failure of a system restart. (Bug#21948)
        
          NDB Cluster (Disk Data): Extents that
          should have been available for re-use following a DROP TABLE
          operation were not actually made available again until after
          the cluster performed a local checkpoint. (Bug#17605)
        
          NDB Cluster: Under certain rare
          circumstances, local checkpoints were not performed properly,
          leading to an inability to restart one or more data nodes.
          (Bug#24664)
        
          NDB Cluster (NDB API): When using the
          NdbTransaction::execute() method, a very
          long timeout (greater than 5 minutes) could result if the last
          data node being polled was disconnected from the cluster. (Bug#24949)
        
          NDB Cluster: When a data node was shut down
          using the management client STOP command, a
          connection event (NDB_LE_Connected) was
          logged instead of a disconnection event
          (NDB_LE_Disconnected). (Bug#22773)
        
          NDB Cluster: SELECT
          statements with a BLOB or
          TEXT column in the selected column list and
          a WHERE condition including a primary key
          lookup on a VARCHAR primary key produced
          empty result sets. (Bug#19956)
        
          NDB Cluster: ndb_config
          failed when trying to use 2 management servers and node IDs.
          (Bug#23887)
        
          STR_TO_DATE() returned
          NULL if the format string contained a space
          following a non-format character. (Bug#22029)
        
yaSSL crashed on pre-Pentium Intel CPUs. (Bug#21765)
Selecting into variables sometimes returned incorrect wrong results. (Bug#20836)
          Inserting DEFAULT into a column with no
          default value could result in garbage in the column. Now the
          same result occurs as when inserting NULL
          into a NOT NULL column. (Bug#20691)
        
          mysql_fix_privilege_tables.sql altered
          the table_privs.table_priv column to
          contain too few privileges, causing loss of the
          CREATE VIEW and SHOW
          VIEW privileges. (Bug#20589)
        
          A server crash occurred when using LOAD
          DATA to load a table containing a NOT
          NULL spatial column, when the statement did not load
          the spatial column. Now a NULL supplied to NOT NULL
          column error occurs. (Bug#22372)
        
          Unsigned BIGINT values treated as signed
          values by the MOD() function. (Bug#19955)
        
Compiling PHP 5.1 with the MySQL static libraries failed on some versions of Linux. (Bug#19817)
          The DELIMITER statement did not work
          correctly when used in an SQL file run using the
          SOURCE statement. (Bug#19799)
        
          VARBINARY column values inserted on a MySQL
          4.1 server had trailing zeroes following upgrade to MySQL 5.0
          or later. (Bug#19371)
        
          Subqueries of the form NULL IN (SELECT ...)
          returned invalid results. (Bug#8804, Bug#23485)
        
          The --extern option for
          mysql-test-run.pl did not function
          correctly. (Bug#24354)
        
          ALTER TABLE statements that performed both
          RENAME TO and {ENABLE|DISABLE}
          KEYS operations caused a server crash. (Bug#24089)
        
          The MySQL 5.1.12 binaries for Windows were missing the
          FEDERATED, EXAMPLE, and
          BLACKHOLE storage engines. (Bug#23900)
        
myisampack wrote to unallocated memory, causing a crash. (Bug#17951)
          Some small double precision numbers (such as
          1.00000001e-300) that should have been
          accepted were truncated to zero. (Bug#22129)
        
The mysql.server script used the source command, which is less portable than the . command; it now uses . instead. (Bug#24294)
          DATE_ADD() requires complete dates with no
          「zero」 parts, but sometimes did not return
          NULL when given such a date. (Bug#22229)
        
          Using FLUSH TABLES in one connection while
          another connection is using HANDLER
          statements caused a server crash. (Bug#21587)
        
          FLUSH LOGS or mysqladmin
          flush-logs caused a server crash if the binary log
          was not open. (Bug#17733)
        
          On HP-UX, mysqltest (non-thread-safe)
          crashed due to being linked against a thread-safe
          libmysys library. (Bug#23984)
        

