Note: This was an internal release only, and no binaries were published.
Functionality added or changed:
          In order not to break legacy applications, support for
          TYPE =
           has been
          restored, but now generates a warning.
        engine_name
          Important: This option has
          been deprecated since MySQL 4.0. Beginning with
          MySQL 5.2, TYPE =
           will no
          longer be available and will produce a syntax
          error. You should not use
          engine_nameTYPE in any new applications, and you
          should immediately begin conversion of existing applications
          to use the ENGINE =
           syntax
          instead. (Bug#17501)
        engine_name
The deprecated constructs in the following table now generate warnings. You should not employ them in new applications, as they are likely to be removed in a future version of MySQL. Use the equivalents shown in the table's second column instead. For the same reason, existing applications depending on the deprecated constructs should be converted to make use of the current equivalents as soon as possible. (Bug#17501)
| Deprecated / Obsolete: | Current / Preferred: | 
@@table_type | 
@@storage_engine | 
@@log_bin_trust_routine_creators | 
@@log_bin_trust_function_creators | 
TIMESTAMP( | 
See 項11.5. 「日付時刻関数」. | 
TYPE= | 
ENGINE= | 
BACKUP TABLE | 
mysqldump, mysqlhotcopy, or MySQL Administrator | 
RESTORE TABLE, LOAD TABLE FROM
                  MASTER
 | 
mysqldump, mysql, or MySQL Administrator | 
SHOW TABLE TYPES | 
SHOW [STORAGE] ENGINES | 
SHOW INNODB STATUS | 
SHOW ENGINE INNODB STATUS | 
SHOW MUTEX STATUS | 
SHOW ENGINE INNODB MUTEX | 
SHOW BDB LOGS, SHOW LOGS
 | 
SHOW ENGINE BDB LOGS | 
The deprecated items shown in the table are not guaranteed to be available in MySQL 5.2 or later.
          Incompatible change: For
          purposes of determining placement, RANGE
          partitioning now treats NULL as less than
          any other value. (Formerly, NULL was
          treated as equal to zero.) See
          項15.2.6. 「MySQLパーティショニングの NULL
        値の取り扱い」. (Bug#15447)
        
          Incompatible Change: The
          semantics of ALTER TABLE  for partitioned
          tables is changed, and now means that the storage engine used
          for table t
          ENGINE=X;t is changed to
          X.
        
          The previous statement formerly (prior to MySQL 5.1.8) meant
          that all partitioning was removed from the table. In order to
          remove the partitioning of a table, the syntax ALTER
          TABLE  is introduced. The t REMOVE
          PARTITIONING;REMOVE
          PARTITIONING option can be used in combination with
          existing ALTER TABLE options such as those
          employed for adding or dropping columns or indexes. (Bug#17754)
        
          Added the --sysdate-is-now option to
          mysqld to enable
          SYSDATE() to be treated as an alias for
          NOW(). See
          項11.5. 「日付時刻関数」. (Bug#15101)
        
          The NDBCluster storage engine now supports
          INSERT IGNORE and
          REPLACE statements. Previously, these
          statements failed with an error. (Bug#17431)
        
Events no longer support times past the end of the Unix epoch. (Formerly, such dates were interpreted as being at the beginning of the Unix epoch.) (Bug#16396)
          Event names are now case-insenstive. That is (for example),
          you cannot have events with the names
          Myevent and MyEvent
          belonging to the same database and definer. (Bug#16415)
        
Builds for Windows, Linux, and Unix (except AIX) platforms now have SSL support enabled, in the server as well as in the client libraries. Because part of the SSL code is written in C++, this does introduce dependencies on the system's C++ runtime libraries in several cases, depending on compiler specifics. (Bug#18195)
Temporary tables may no longer be partitioned. (Bug#17497)
          Added the --events option to
          mysqldump to enable events to be included
          in the dump output. (Bug#16853)
        
          NDB Cluster (Disk Data): You can now have
          only one log file group at any one time. See
          項12.1.9. 「CREATE LOGFILE GROUP 構文」. (Bug#16386)
        
          The syntax for CREATE PROCEDURE and
          CREATE FUNCTION statements now includes a
          DEFINER clause. The
          DEFINER value specifies the security
          context to be used when checking access privileges at routine
          invocation time if the routine has the SQL SECURITY
          DEFINER characteristic. See
          項17.2.1. 「CREATE PROCEDUREおよびCREATE
        FUNCTION 構文」, for more
          information.
        
          When mysqldump is invoked with the
          --routines option, it now dumps the
          DEFINER value for stored routines.
        
          The output from SHOW CREATE TABLE is more
          consistent about using uppercase for keywords. Data types
          still are in lowercase. (Bug#10460)
        
          The ExtractValue() function with
          contains() now uses the SQL collation in
          making comparisons. Perviously, comparisons were always binary
          (that is, case-sensitive). (Bug#16316)
        
          The cluster_replication database has been
          renamed to cluster. This will effect
          replication between MySQL Clusters where one cluster is
          running MySQL 5.1.8 or later, and the other is running MySQL
          5.1.7 or earlier. See
          項14.10. 「MySQL Cluster レプリケーション」, and
          especially
          項14.10.4. 「レプリケーション スキーマおよびテーブル」.
        
          The stability of CREATE and
          DROP operations on NDB
          tables containing BLOB columns has been
          improved. (Bug#17761)
        
More specific error messages are now given when attempting to create an excessive number of partitions or subpartitions. (Previously, no distinction was made between an excessive number of partitions and an excessive number of subpartitions.) (Bug#17393)
          The mysqltest utility now converts all
          CR/LF combinations to LF
          to allow test cases intended for Windows to work properly on
          UNIX-like systems. (Bug#13809)
        
          The mysql_ping function will now retry if
          the reconnect flag is set and error
          CR_SERVER_LOST is encountered during the
          first attempt to ping the server. (Bug#14057)
        
          mysqldump now surrounds the
          DEFINER, SQL SECURITY
          DEFINER and WITH CHECK OPTION
          clauses of a CREATE VIEW statement with
          "not in version" comments to prevent errors in earlier
          versions of MySQL. (Bug#14871)
        
          For an event having no STARTS time
          specified when it was created, the
          mysql.event table's
          start column now displays the creation time
          rather than NULL. (Bug#16537)
        
          In addition, both the SHOW EVENTS
          statement's Starts column and the
          STARTS column of the
          INFORMATION_SCHEMA.EVENTS table are now
          empty rather than NULL when
          STARTS was not used in the CREATE
          EVENT statement.
        
          MICROSECOND intervals are no longer allowed
          for events. (Bug#16411)
        
          Description of the EVENT privilege has been
          changed to To create, alter, drop, and execute
          events. (Bug#16412)
        
          The binlog_format system variable now is
          dynamic and can be changed at runtime, as described in
          項5.1.2. 「レプリケーション フォーマット」.
        
          The binlog_format system variable now can
          be set to a third format, MIXED, as
          described in
          項5.1.2. 「レプリケーション フォーマット」.
        
          A slave server may switch the format
          automatically now. This happens when the
          server is running in either STATEMENT or
          MIXED format and encounters a row in the
          binary log that is written in ROW logging
          format. In that case, the slave switches to row-based
          replication temporarily for that event, and switches back to
          the previous format afterwards.
        
          Partition pruning was made more stable, particularly in cases
          involving queries using tests for NULL
          values in the WHERE clause against
          subpartitioned tables which were partitioned by LIST(
          . (Bug#17891)
        some_function(col1,
          ... ,colN) )
Names of subpartitions must now be unique for an entire table, and not merely within the same partition. (Bug#15408)
          The output of SHOW CREATE EVENT no longer
          qualifies the event name with the name of the schem to which
          the event belongs. (Bug#17714)
        
          The client API will now attempt to reconnect on TCP/IP if the
          reconnect flag is set, as is the case with
          sockets. (Bug#2845)
        
          The XPath last() function is now
          implemented for use with ExtractValue().
          (Bug#16318)
        
Bugs fixed:
Stored routine names longer than 64 characters were silently truncated. Now the limit is properly enforced and an error occurs. (Bug#17015)
          During conversion from one character set to
          ucs2, multi-byte characters with no
          ucs2 equivalent were converted to multiple
          characters, rather than to 0x003F QUESTION
          MARK. (Bug#15375)
        
          Slave servers would retry the execution of a SQL statement an
          infinite number of times, ignoring the value
          SLAVE_TRANSACTION_RETRIES when using the
          NDB engine. (Bug#16228)
        
Replication of data stored in a partitioned table would cause slave servers to issue a assertion and terminate. (Bug#18436)
          The mysql_close() C API function leaked
          handles for shared-memory connections on Windows. (Bug#15846)
        
          Checks for permissions on database operations could be
          performed in a case-insensitive manner (a user with
          permissions on database MYDATABASE could by
          accident get permissions on database
          myDataBase), if the privilege data were
          still cached from a previous check. (Bug#17279)
        
          The server would crash when SHOW STATUS was
          called on a server linked with yaSSL. (Bug#18310)
        
          SELECT ... WHERE , when column
          LIKE 'A%'column
          had a key and used the latin2_czech_cs
          collation, caused the wrong number of rows to be returned.
          (Bug#17374)
        
          Using ALTER TABLE to increase the length of
          a BINARY(
          column caused column values to be padded with spaces rather
          than M)0x00 bytes. (Bug#16857)
        
Execution of a stored function or trigger which inserted data into a table while running concurrent selects on the same table could result in storing incorrect data in the query cache. (Bug#14767)
          NDB Cluster: Attempting to restart a node
          with dropped events still pending would fail. (Bug#18491)
        
          NDB Cluster: In asynchronous replication
          scenarios, binary log events could be lost on the remote
          mysqld. (Bug # 18472)
        
          NDB Cluster: Two mysqld
          processes starting at the same time could cause a race
          condition. (Bug#18472)
        
          NDB Cluster: Two mysqld
          processes did not synchronise DROP TABLE
          binary log events correctly. (Bug#18395)
        
          NDB Cluster: When multiple node restarts
          were attempted without allowing each restart to complete, the
          error message returned was Array index out of
          bounds rather than Too many crashed
          replicas. (Bug#18349)
        
          A SELECT ... ORDER BY ... from a view
          defined using a function could crash the server. An example of
          such a view might be CREATE VIEW v1 AS SELECT
          SQRT(c1) FROM t1. (Bug#18386)
        
          REPAIR TABLE, OPTIMIZE
          TABLE, and ALTER TABLE operations
          on transactional tables (or on tables of any type on Windows)
          could corrupt triggers associated with those tables. (Bug#18153)
        
          MyISAM: Performing a bulk insert on a table
          referenced by a trigger would crash the table. (Bug#17764)
        
          Using ORDER BY
           within a stored
          procedure (where intvarintvar is an
          integer variable or expression) would crash the server. (Bug#16474)
        
          Note: The use of an integer
          i in an ORDER BY
           clause for sorting the
          result by the
          iith
          column is deprecated (and non-standard). It should
          not be used in new applications. See
          項12.2.7. 「SELECT 構文」.
        
          A SELECT using a function against a nested
          view would crash the server. (Bug#15683)
        
          ALTER TABLE ... ADD COLUMN ... AFTER ...
          failed when used on partitioned tables. (Bug#16806)
        
          NDB Cluster: A timeout in the handling of
          an ABORT condition with more that 32
          operations could yield a node failure. (Bug#18414)
        
          NDB Cluster: A node restart immediately
          following a CREATE TABLE would fail.
          Important: This
          fix supports 2-node Clusters only. (Bug#18385)
        
          NDB Cluster: In event of a node failure
          during a rollback, a 「false」 lock could be
          established on the backup for that node, which lock could not
          be removed without restarting the node. (Bug#18352)
        
          NDB Cluster: The cluster created a crashed
          replica of a table having an ordered index — or when
          logging was not enabled, of a table having a table or unique
          index — leading to a crash of the cluster following 8
          successibe restarts. (Bug#18298)
        
          NDB Cluster: When replacing a failed master
          node, the replacement node could cause the cluster to crash
          from a buffer overflow if it had an excessively large amount
          of data to write to the cluster log. (Bug#18118)
        
          NDB Cluster: Restarting nodes were allowed
          to start and join the cluster too early. (Bug#16772)
        
          NDB Cluster: Issuing a DROP
          LOGFILE GROUP statement would cause
          ndbd processes to crash if MySQL had been
          compiled with gcc4. (Bug#18295)
        
          Using triggers with partitioned InnoDB
          tables led to incorrect results. (Bug#17744)
        
          Calling CREATE TABLE or ALTER
          TABLE twice on a partitioned table in a stored
          procedure or a prepared statement resulted in errors and
          sometimes server crashes. (Bug#17290)
        
          A problem with NULLs and interval mapping
          sometimes caused incorrect results or crashes when trying to
          use less-than searches on partitioned tables. (Bug#17173)
        
          CREATE TABLE ... PARTITION ... AS SELECT
          ... would cause the server to crash. (Bug#15336)
        
Creating a partition which depends on an expression containing a column using the UTF8 character set would cause the server to crash. (Bug#14367)
Invoking more than once a prepared statement that creates a partitioned table would crash the server. (Bug#14350)
          NDB Cluster: A SELECT ... ORDER
          BY query on an explicitly partitioned Cluster table
          with no explicit indexes would crash the server. (Bug#17899)
        
          The ExtractValue() function did not
          return an error when passed an invalid XPath string. (Bug#18172)
        
Stored procedures that call UDFs and pass local string variables caused server crashes. (Bug#17261)
Connecting to a server with a UCS2 default character set with a client using a non-UCS2 character set crashed the server. (Bug#18004)
Loading of UDFs in a statically linked MySQL caused a server crash. UDF loading is now blocked if the MySQL server is statically linked. (Bug#11835)
          A security enhancement in Visual Studio 8 could cause a MySQL
          debug server compiled with it to hang when running
          SELECT queries against partitioned tables.
          (Bug#17722)
        
          NDB Cluster:
          auto_increment values were not propagated
          correctly in statement-based replication. (Bug#18208)
        
          Rpeated invocations of a stored procedure containing a
          SHOW CREATE EVENT statement would result in
          the error Packets out of order. (Bug#17403)
        
          Repeated invocations of a stored procedure containing a
          CREATE EVENT or ALTER
          EVENT statement would crash the server. (Bug#16408)
        
          Renaming and adding a new column to a partitioned table in the
          same ALTER TABLE statement caused the
          server to crash. (Bug#17772)
        
          ALTER TABLE ... REBUILD PARTITION with no
          partition name specified would crash the server. (Bug#17940)
        
Trying to add a partition to a table having subpartitions could crash the server. (Bug#17140)
          Attempting to use a conflicting VALUES
          clause in ALTER TABLE ... ADD PARTITION
          caused the server to crash. An example of such a conflicting
          clause would be that uses VALUES LESS THAN
          ( (which
          indicates a range) with a table that is partitioned by
          constant)LIST. (Bug#17127)
        
          ALTER TABLE ... COALESCE PARTITION failed
          with an Out of Memory error. (Bug#16810)
        
          Names of subpartitions were not displayed in the output of
          SHOW CREATE TABLE. (Bug#16370)
        
Setting up subpartitions on at least one but not all the partitions of a partitioned table caused the server to crash. (Bug#15407)
          Using the position() function in the XPath
          argument to ExtractValue() crashed the
          server. (Bug#18171)
        
          A query with a WHERE
           condition
          failed on a table partitioned by date_column >
          date_valueRANGE.
          (Bug#17894)
        
Cursors in stored routines could cause a server crash. (Bug#16887)
          Replication slaves could not replicate triggers from older
          servers that included no DEFINER clause in
          the trigger definition. Now the trigger executes with the
          privileges of the invoker (which on the slave is the slave SQL
          thread). (Bug#16266)
        
          Character set conversion of string constants for
          UNION of constant and table column was not
          done when it was safe to do so. (Bug#15949)
        
          NULL values were written to the
          mysql.slow_log table incorrectly. (Bug#17600)
        
          A query with a WHERE
           condition
          failed on a table partitioned by date_column >
          date_valueRANGE.
          (Bug#17894)
        
          A failed ALTER TABLE ... ADD PRIMARY KEY on
          a partitioned table would result in bad table metadata and
          could possibly crash the server. (Bug#17097)
        
No error was reported when subpartitions were defined for a non-subpartitioned table. (Bug#15961)
Searches on indexed columns of partitioned tables failed to find all matching rows following updates of the indexed columns. (Bug#14526)
          The DEFINER value for stored routines was
          not replicated. (Bug#15963)
        
          Use of TRUNCATE TABLE for a
          TEMPORARY table on a master server was
          propagated to slaves properly, but slaves did not decrement
          the Slave_open_temp_tables counter
          properly. (Bug#17137)
        
          SELECT COUNT(*) for a
          MyISAM table could return different results
          depending on whether an index was used. (Bug#14980)
        
          Updating a view that filters certain rows to set a filtered
          out row to be included in the table caused infinite loop. For
          example, if the view has a WHERE clause of salary >
          100 then issuing an UPDATE statement of SET
          salary = 200 WHERE id = 10, caused an infinite loop.
          (Bug#17726)
        
          Creating a table with the same name as the mapped name of
          another table caused a server crash. For example, if MySQL
          maps the table name txu#P#p1 to
          txu@0023P@0023p1 on disk, creating another
          table named txu@0023P@0023p1 crashed the
          server. (Bug#17142)
        
          NDB Cluster: Adding an index together with
          replication could cause mysqld to crash.
          (Bug#18106)
        
          NDB Cluster: Insufficient
          StringBuffer memory when attempting to
          create a trigger caused the server to crash. (Bug#18101)
        
          NDB Cluster: Variable-length columns used
          as primary keys were not handled correctly. (Bug#18075)
        
          NDB Cluster: Row-based replication could
          fail with tables using VARCHAR columns for
          primary keys and having BLOB columns. (Bug#18067)
        
          NDB Cluster: CREATE UNIQUE
          INDEX on a column containing non-unique data could
          cause one or more ndbd nodes to hang or
          crash. (Bug#18040)
        
          NDB Cluster (Disk Data): CREATE
          UNIQUE INDEX failed with Error 4243:
          Index not found. (Bug#18039)
        
          NDB Cluster: Node recovery of tables with
          VARCHAR columns using character sets was
          inconsistent, which could cause a number of issues, including
          the data nodes failing to restart and ALTER
          TABLE statements to hang. (Bug#18026)
        
          NDB Cluster: In some cases, a single
          ndbd node would fail following a system
          restart. (Bug#17854)
        
          NDB Cluster (Replication): The binary log
          on the secondary master was not being set up correctly
          following a table rename. (Bug#17838)
        
          NDB Cluster: With a single replica,
          transactions waiting in the log synchronisation queue were not
          being restarted, causing them to be aborted. (Bug#17536)
        
          NDB Cluster (Disk Data): It was not
          possible to create more than 9 tablespaces. (Bug#16913)
        
          NDB Cluster: Inserting and deleting
          BLOB column values while a backup was in
          process could cause the loss of an ndbd
          node. (Bug#14028)
        
          NDB Cluster:
          UNDO_BUFFER_SIZE was limited to 17 MB. (Bug#16657, Bug#17890)
        
          Using ALTER TABLE ... REBUILD PARTITION
          without specifying the name of the partition caused the server
          to crash, rather than reporting a syntax error. (Bug#17947)
        
          When attempting to insert a 0 into a
          LIST-partitioned table that had no
          value-list containing 0, no error was
          reported. (Bug#15253)
        
          If the server was started with the
          --skip-grant-tables option, it was impossible
          to create a trigger or a view without explicitly specifying a
          DEFINER clause. (Bug#16777)
        
The server would execute stored routines that had a non-existent definer. (Bug#13198)
          NDB Cluster: A simultaneous
          RENAME of several tables was logged
          multiple times. (Bug#17827)
        
          NDB Cluster: Trying to perform a
          DELETE from a Cluster table following a
          LOCK TABLES would cause the
          ndbd processes to hang. (Bug#17812)
        
          ALTER TABLE ... REORGANIZE PARTITION failed
          with Error on rename of
          filename ... on
          Windows. (Bug#17720)
        
          NDB Cluster: ALTER TABLE ... ADD
          INDEX failed with ERROR 756: Index on
          disk column is not supported when run against a
          Disk Data table having a primary key. (Bug#17888)
        
          NDB Cluster: DELETE
          operations on NDB tables could cause memory
          leaks. (Bug#16874)
        
          NDB Cluster: Some query cache statistics
          were not always correctly reported for Cluster tables. (Bug#16795)
        
          The EXAMPLE storage engine did not work on
          Windows. (Bug#17721)
        
          For FEDERATED tables, a
          SELECT statement with an ORDER
          BY clause did not return rows in the proper order.
          (Bug#17377)
        
          Setting the myisam_repair_threads system
          variable to a value larger than 1 could cause corruption of
          large MyISAM tables. (Bug#11527)
        
          The length of a VARCHAR() column that used
          the utf8 character set would increase each
          time the table was re-created in a stored procedure or
          prepared statement, eventually causing the CREATE
          TABLE statement to fail. (Bug#13134)
        
          The MySQL server could crash with out of memory errors when
          performing aggregate functions on a DECIMAL
          column. (Bug#17602)
        
          INSERT statements executed by scheduled
          events were not written to the general log. (Bug#16413)
        
A memory leak caused warnings on slaves for certain statements that executed without warning on the master. (Bug#16175)
          Naming a partition using the characters
          Ç or
          ç (「c-cedilla」;
          Unicode 00C7 or 00E7)
          made unreadable the table containing the partition. (Bug#14527)
        
          The self() XPath function was not handled
          correcty by ExtractValue(). (Bug#16315)
        
          The ExtractValue() function would not
          accept expressions which matched element names containing an
          underscore character. (Bug#16320)
        
          NDB Cluster: Trying to update very large
          partitioned tables using the NDB storage
          engine sometimes caused the server to crash. (Bug#16385, Bug#17806)
        
Slow queries executed by scheduled events were not being written to the slow query log. (Bug#16426)
On Linux, creation of table partitions failed within a stored procedure. (Bug#14363)
          mysql_fix_privilege_tables didn't create
          the mysql.plugin table. (Bug#17568)
        
Improper checking of binary log statements could result in a server crash. (Bug#17457)
          The ExtractValue() function allowed the use
          of the ! character in identifiers by
          ignoring the illegal character. This is now correctly reported
          as a syntax error. (Bug#16313)
        
          NDB Cluster: Trying to insert a value into
          a nonexistent LIST partition of an
          NDB table would cause the server to crash.
          (Bug#17763)
        
          NDB Cluster: ALTER TABLE
          on a partitioned NDB table could cause the
          server to crash. (Bug#17499)
        
          NDB Cluster: A repeated
          SELECT on a partitioned table that used the
          NDB storage engine could cause the server
          to crash. (Bug#17390)
        
          NDB Cluster: Using ALTER TABLE ...
          ADD PARTITION on a table partitioned by
          LIST would cause the client to hang. (Bug#17701)
        
          Triggers created without BEGIN and
          END clauses resulted in 「You have an
          error in your SQL syntax」 errors when dumping and
          replaying a binary log. (Bug#16878)
        
          The RENAME TABLE statement did not move
          triggers to the new table. (Bug#13525)
        
          Clients compiled from source with the
          --without-readline did not save command
          history from session to session. (Bug#16557)
        
          Stored routines that contained only a single statement were
          not written properly to the dumpfile when using
          mysqldump. (Bug#14857)
        
          Issuing GRANT EXECUTE on a procedure would
          display any warnings related to the creation of the procedure.
          (Bug#7787)
        
Attempting to add a new partition to a table partitioned by a unique key would cause an Out of memory error. (Bug#17169)
In a highly concurrent environment, a server crash or deadlock could result from execution of a statement that used stored functions or activated triggers coincident with alteration of the tables used by these functions or triggers. (Bug#16593)
