Functionality added or changed:
          Incompatible change:
          TYPE =
           is no longer
          accepted as a synonym for the engine_nameENGINE =
           table option.
          (engine_nameTYPE has been deprecated since MySQL 4.0.)
        
Several changes were made to make upgrades easier:
Added the mysql_upgrade program that checks all tables for incompatibilities with the current version of MySQL Server and repairs them if necessary. This program should be run for each MySQL upgrade (rather than mysql_fix_privilege_tables). See 項4.5.4. 「mysql_upgrade — MySQL アップグレードのテーブル チェック」.
              Added the FOR UPGRADE option for the
              CHECK TABLE statement. This option
              checks whether tables are incompatible with the current
              version of MySQL Server.
            
              Added the --check-upgrade to
              mysqlcheck that invokes CHECK
              TABLE with the FOR UPGRADE
              option. Added the --fix-db-names and
              --fix-table-names options to
              mysqlcheck.
            
          Incompatible change: The
          mysql_stmt_attr_get() C API function now
          returns a boolean rather than an unsigned int for
          STMT_ATTR_UPDATE_MAX_LENGTH. (Bug#16144)
        
          Added the --wait-timeout option to
          mysqlmanager to allow configuration of the
          timeout for dropping an inactive connection, and increased the
          default timeout from 30 seconds to 28,800 seconds (8 hours).
          (Bug#12674, Bug#15980)
        
All subpartitions within a given partitioned table are now guaranteed to have unique names. (Bug#15408)
          Added the RENAME DATABASE statement.
        
The SQL mode in effect at the time an event is created or altered is recorded and used during event execution. (Bug#16407)
          Added the PROCESSLIST table to
          INFORMATION_SCHEMA.
        
Attempting to read pre-5.1.6 partitioned tables with a MySQL 5.1.7 (or later) server now generates a suitable warning message. (Bug#16695)
For additional information about this issue, see 項C.1.11. 「Changes in release 5.1.6 (01 February 2006)」.
          NDB Cluster: Attempting to SELECT
          ... FROM INFORMATION_SCHEMA.FILES now raises a
          warning in the event that the cluster has crashed. (Bug#17087)
        
          NDB Cluster: It is now possible to
          replicate NDB tables having no explicit
          primary key. See 項14.10. 「MySQL Cluster レプリケーション」.
        
          Removed the have_isam and
          have_raid system variables.
        
Status messages added to ndb_restore to allow users to know that data files for Disk Data are being created. (Bug#16873)
          Added the IN NATURAL LANGUAGE MODE and
          IN NATURAL LANGUAGE MODE WITH QUERY
          EXPANSION modifiers for full-text searches. See
          項11.7. 「全文検索関数」.
        
Creator privileges are now checked for all events before execution. (Bug#17289)
          CREATE EVENT, DROP
          EVENT, and ALTER EVENT statements
          are not allowed in triggers. (Bug#16410)
        
          New charset command added to
          mysql command-line client. By typing
          charset  or
          name\C  (such as
          name\C UTF8), the client character set can be
          changed without reconnecting. (Bug#16217)
        
          In row-based replication, when executing a Rows_log_event, the
          associated table was locked, the rows applied and the lock
          released. This did not work since there are storage engines
          that count locks and perform an autocommit when the number of
          locks reach zero. Now we ensure that all table maps come
          before all ROWS events in a statement.
        
Bugs fixed:
          NDB Cluster: ndbd
          restart could sometimes fail due to incorrect memory access.
          (Bug#17417)
        
Execution times for scheduled events were not calculated correctly: the last execution time was used as a base rather than the actual start time. (Bug#17494)
          Using an XPath expression containing = with
          ExtractValue() caused the server to crash.
          (Bug#16242)
        
          NDB Cluster: An unhandled resources issue
          could cause node failure with a DELETE FROM
          TABLE affecting thousands of rows. (Bug#16492)
        
          NDB Cluster: Cluster tables not having an
          explicit primary key could not be replicated. (Bug#14541)
        
          For a transaction that used MyISAM and
          InnoDB tables, interruption of the
          transaction due to a dropped connection on a master server
          caused slaves to lose synchrony. (Bug#16559)
        
          SELECT with GROUP BY on
          a view could cause a server crash. (Bug#16382)
        
          SET TRANSACTION ISOLATION LEVEL acted like
          SET SESSION TRANSACTION ISOLATION LEVEL.
          That is, it set the isolation level for longer than the next
          transaction. (Bug#7955)
        
          SHOW CREATE TABLE produced extraneous
          spaces after the PRIMARY KEY keywords. (Bug#13883)
        
          If the query optimizer transformed a GROUP
          BY clause in a subquery, it did not also transform
          the HAVING clause if there was one,
          producing incorrect results. (Bug#16603)
        
          SUBSTRING_INDEX() could yield inconsistent
          results when applied with the same arguments to consecutive
          rows in a query. (Bug#14676)
        
          myisam_ftdump did not work for
          FULLTEXT indexes associated with a parser
          plugin. (Bug#17116)
        
          BIT fields were not properly handled when
          using row-based replication. (Bug#13418)
        
Column counts were encoded incorrectly in the binary log for row-based logging format. (Bug#17678)
          Data truncations on non-UNIQUE indexes
          could crash InnoDB when using multi-byte
          character sets. (Bug#17530)
        
          An ALTER DATABASE statement on a
          replication master crashed the slaves. (Bug#17521)
        
          Partitioning with certain SUBPARTITION BY
          HASH clauses caused an error when querying for a
          partitioned column using an IS NULL
          comparison. (Bug#17430, Bug#17432)
        
          The mysql_fix_privilege_tables.sql script
          did not properly initialize the Event_priv
          column to 'Y' for those accounts that
          should have the EVENT privilege. (Bug#16400)
        
          NDB Cluster: Inserting the output of
          REPEAT(' into a
          some_string',
          some_int)BLOB column resulted in the error
          Invalid blob attributes or invalid blob parts
          table. (Bug#17505)
        
          NDB Cluster: Row-based replication was not
          being set up correctly if a backup was already in progress.
          For example, connecting a mysqld instance
          to a cluster which was being backed up would result in the
          message NDB: skipping setup table
          test.t1 being written to the error log. (Bug#17459)
        
          NDB Cluster: CREATE TEMPORARY
          TABLE of a Cluster table would fail with an
          Unsupported error or crash the server.
          (Bug#17210, Bug#16552)
        
          NDB Cluster: UNIQUE keys
          in Cluster tables were limited to 225 bytes in length. (Bug#15918)
        
          NDB Cluster: REPLACE
          failed when attempting to update a primary key value in a
          Cluster table. (Bug#14007)
        
          NDB Cluster: Creating
          NDB tables containing
          BLOB columns but no primary key caused
          unpredictable behavior. (Bug#17559)
        
          Creating an event and using a whitespace character other than
          space following the DO keyword caused a
          server crash. (Bug#17453)
        
          Previously, a stored function invocation was written to the
          binary log as DO
           if the
          invocation changes data and occurs within a non-logged
          statement, or if the function invokes a stored procedure that
          produces an error. These invocations now are logged as
          func_name()SELECT
           instead for
          better control over error code checking (slave servers could
          stop due to detecting a different error than occurred on the
          master). (Bug#14769)
        func_name()
          CHECKSUM TABLE returned different values on
          MyISAM table depending on whether the QUICK
          or EXTENDED options were used. (Bug#8841)
        
          Querying the INFORMATION_SCHEMA.PARTITIONS
          table on a non-max server caused a server crash. This also
          happened following the creation of a table with a very large
          number (hundreds) of partitions. (Bug#16591, Bug#17141)
        
Attempting to add a new partition to a table partitioned by a unique key would cause an Out of memory error. (Bug#17169)
          MySQL server dropped client connection for certain
          SELECT statements against views defined
          that used MERGE algorithm. (Bug#16260)
        
          A statement containing GROUP BY and
          HAVING clauses could return incorrect
          results when the HAVING clause contained
          logic that returned FALSE for every row.
          (Bug#14927)
        
          Using GROUP BY on column used in
          WHERE clause could cause empty set to be
          returned. (Bug#16203)
        
          DROP DATABASE did not drop events for the
          database. (Bug#16406)
        
Race conditions between event creation, dropping, and execution could result in a server crash or hang. (Bug#17373)
          SET sql_mode =
          , where
          NN > 31, did not work properly.
          (Bug#13897)
        
          Repeated invocation of my_init() and
          my_end() caused corruption of character set
          data and connection failure. (Bug#6536)
        
          When used with the ExtractValue() function,
          an XPath expression having no leading 「
          / 」 character would crash the
          server. (Bug#16234)
        
          A SELECT from the last partition of a
          subpartitioned table having a UNIQUE KEY
          could crash the MySQL Server. (Bug#16907)
        
          A SELECT on a subpartitioned table having a
          multiple-column PRIMARY or UNIQUE
          KEY, and whose partitioning function used only the
          first column of the key, could cause mysqld
          to crash. (Bug#16901)
        
          Using REPLACE INTO on a partitioned table
          having a primary key would crash the server in the event of a
          duplicate key error. (Bug#16782)
        
          DROP TABLE would sometimes fail on a table
          having subpartitions that used the default storage engine.
          (Bug#16775)
        
          NDB Cluster: Sharing of table names
          containing special characters between multiple SQL nodes was
          not handled correctly when binary logging was enabled (a
          timeout error resulted). (Bug#17415)
        
          NDB Cluster: Table definitions were not
          shared between multiple SQL nodes in a cluster without binary
          logging being enabled. (Bug#17414)
        
          NDB Cluster: Cluster log file paths were
          truncated to 128 characters. They may now be as long as
          MAX_PATH (the maximum path length permitted
          by the operating system). (Bug#17411)
        
          SHOW CREATE EVENT displayed no output. (Bug#16423)
        
Statements that contained Unicode characters were not logged to the log tables correctly. (Bug#16905)
          On Windows platforms, some attempts to create partitioned
          tables from the command line would cause the
          mysql client to hang. (Bug#17082)
        
          NDB Cluster: SHOW CREATE
          TABLE would fail when run against a table created in
          a different session. (Bug#17340)
        
          NDB Cluster: Following multiple forced
          shutdowns and restarts of data nodes, DROP
          DATABASE could fail. (Bug#17325)
        
          NDB Cluster: An UPDATE
          with an inner join failed to match any records if both tables
          in the join did not have a primary key. (Bug#17257)
        
          NDB Cluster: A DELETE
          with a join in the WHERE clause failed to
          retrieve any records if both tables in the join did not have a
          primary key. (Bug#17249)
        
          The NDB Cluster storage engine did not
          allow views to be updated. (Bug#17206)
        
          NDB Cluster: Row-based replication of a
          cluster failed to take --binlog_ignore_db
          settings into account. (Bug#17188)
        
Trying to create a partitioned table with more than 32 attributes failed. (Bug#17179)
          NDB Cluster: When attempting to import data
          into an NDB table using LOAD DATA
          INFILE, the server would hang in the event of a
          duplicate key error. (Bug#17154)
        
          NDB Cluster: In some cases, LOAD
          DATA INFILE did not load all data into
          NDB tables. (Bug#17081)
        
          NDB Cluster: Performing large numbers of
          data manipulation statements on cluster tables using Disk Data
          could lead to a server crash. ()
        
          NDB Cluster: In some cases, a cluster using
          Disk Data tables could not be restarted following a normal
          shutdown. (Bug#16872)
        
          NDB Cluster: The REDO
          log would become corrupted (and thus unreadable) in some
          circumstances, due to a failure in the query handler. (Bug#17295)
        
          NDB Cluster: CREATE TABLE
           failed when
          new_tbl LIKE
          old_tbl;old_tbl used the
          NDB storage engine. (Bug#17005)
        
          NDB Cluster: No error message was generated
          for setting NoOfFragmentLogFiles too low.
          (Bug#13966)
        
          NDB Cluster: No error message was generated
          for setting MaxNoOfAttributes too low. (Bug#13965)
        
          The SELECT privilege was required for
          triggers that performed no selects. (Bug#15196)
        
          The UPDATE privilege was required for
          triggers that performed no updates. (Bug#15166)
        
          CAST(... AS TIME) operations returned
          different results when using versus not using
          prepared-statement protocol. (Bug#15805)
        
Killing a long-running query containing a subquery could cause a server crash. (Bug#14851)
          InnoDB could display an incorrect error
          message for a cascading update. (Bug#9680)
        
          A RETURN statement within a trigger caused
          a server crash. RETURN now is disallowed
          within triggers. To exit immediately, use
          LEAVE. (Bug#16829)
        
