Functionality added or changed:
Important Change: 
        The --skip-thread-priority option is now
        deprecated such that the server won't change the thread
        priorities by default. Giving threads different priorities might
        yield marginal improvements in some platforms (where it actually
        works), but it might instead cause significant degradation
        depending on the thread count and number of processors. Meddling
        with the thread priorities is a not a safe bet as it is very
        dependent on the behavior of the CPU scheduler and system where
        MySQL is being run.
       (Bug#35164, Bug#37536)
Important Change: 
        The --log option now is
        deprecated and will be removed (along with the
        log system variable) in the future. Instead,
        use the --general_log option to
        enable the general query log and the
        --general_log_file=
        option to set the general query log file name. The values of
        these options are available in the
        file_namegeneral_log and
        general_log_file system
        variables, which can be changed at runtime.
      
        Similar changes were made for the
        --log-slow-queries option and
        log_slow_queries system
        variable. You should use the
        --slow_query_log and
        --slow_query_log_file=
        options instead (and the
        file_nameslow_query_log and
        slow_query_log_file system
        variables).
      
        The BUILD/compile-solaris-* scripts now
        compile MySQL with the mtmalloc library
        rather than malloc.
       (Bug#38727)
Bugs fixed:
Incompatible Change: Replication: 
        The default binary logging mode has been changed from
        MIXED to STATEMENT for
        compatibility with MySQL 5.0.
       (Bug#39812)
Incompatible Change: 
        CHECK TABLE ... FOR
        UPGRADE did not check for incompatible collation
        changes made in MySQL 5.1.21 (Bug#29499) and 5.1.23 (Bug#27562,
        Bug#29461). This also affects mysqlcheck and
        mysql_upgrade, which cause that statement to
        be executed. See
        Section 2.4.3, “Checking Whether Tables or Indexes Must Be Rebuilt”.
       (Bug#39585)
See also Bug#40984.
Incompatible Change: 
        In connection with view creation, the server created
        arc directories inside database directories
        and maintained useless copies of .frm files
        there. Creation and renaming procedures of those copies as well
        as creation of arc directories has been
        discontinued.
      
This change does cause a problem when downgrading to older server versions which manifests itself under these circumstances:
            Create a view v_orig in MySQL 5.1.29 or
            higher.
          
            Rename the view to v_new and then back to
            v_orig.
          
Downgrade to an older 5.1.x server and run mysql_upgrade.
            Try to rename v_orig to
            v_new again. This operation fails.
          
As a workaround to avoid this problem, use either of these approaches:
Dump your data using mysqldump before downgrading and reload the dump file after downgrading.
Instead of renaming a view after the downgrade, drop it and recreate it.
The downgrade problem introduced by the fix for this bug has been addressed as Bug#40021. (Bug#17823)
Important Change: Replication: 
        The SUPER privilege is now
        required to change the session value of
        binlog_format as well as its
        global value. For more information about
        binlog_format, see
        Section 16.1.2, “Replication Formats”.
       (Bug#39106)
Partitioning: Replication: 
        Replication to partitioned MyISAM tables
        could be slow with row-based binary logging.
       (Bug#35843)
Partitioning: If an error occurred when evaluating a column of a partitioned table for the partitioning function, the row could be inserted anyway. (Bug#38083)
Partitioning: 
        Using INSERT ...
        SELECT to insert records into a partitioned
        MyISAM table could fail if some partitions
        were empty and others are not.
       (Bug#38005)
Partitioning: 
        Ordered range scans on partitioned tables were not always
        handled correctly. In some cases this caused some rows to be
        returned twice. The same issue also caused GROUP
        BY query results to be aggregated incorrectly.
       (Bug#30573, Bug#33257, Bug#33555)
Replication: Server code used in binary logging could in some cases be invoked even though binary logging was not actually enabled, leading to asserts and other server errors. (Bug#38798)
Replication: 
        Replication of BLACKHOLE tables did not work
        with row-based binary logging.
       (Bug#38360)
Replication: In some cases, a replication master sent a special event to a reconnecting slave to keep the slave's temporary tables, but they still had references to the “old” slave SQL thread and used them to access that thread's data. (Bug#38269)
Replication: 
        Replication filtering rules were inappropiately applied when
        executing BINLOG pseudo-queries.
        One way in which this problem showed itself was that, when
        replaying a binary log with mysqlbinlog, RBR
        events were sometimes not executed if the
        --replicate-do-db option was
        specified. Now replication rules are applied only to those
        events executed by the slave SQL thread.
       (Bug#36099)
Replication: 
        For a CREATE TABLE
        ... SELECT statement that creates a table in a
        database other than the current one, the table could be created
        in the wrong database on replication slaves if row-based binary
        logging is used.
       (Bug#34707)
Replication: 
        A statement did not always commit or roll back correctly when
        the server was shut down; the error could be triggered by having
        a failing UPDATE or
        INSERT statement on a
        transactional table, causing an implicit rollback.
       (Bug#32709)
See also Bug#38262.
The Sun Studio compiler failed to build debug versions of the server due to use of features specific to gcc. (Bug#39451)
        For a TIMESTAMP column in an
        InnoDB table, testing the column with
        multiple conditions in the WHERE clause
        caused a server crash.
       (Bug#39353)
        References to local variables in stored procedures are replaced
        with
        NAME_CONST( when written to the
        binary log. However, an “illegal mix of collation”
        error might occur when executing the log contents if the value's
        collation differed from that of the variable. Now information
        about the variable collation is written as well.
       (Bug#39182)name,
        value)
        Queries of the form SELECT ... REGEXP BINARY
        NULL could lead to a hung or crashed server.
       (Bug#39021)
        Statements of the form INSERT ... SELECT .. ON
        DUPLICATE KEY UPDATE  could result in a server crash.
       (Bug#39002)col_name =
        DEFAULT
Column names constructed due to wild-card expansion done inside a stored procedure could point to freed memory if the expansion was performed after the first call to the stored procedure. (Bug#38823)
        Repeated CREATE
        TABLE ... SELECT statements, where the created table
        contained an AUTO_INCREMENT column, could
        lead to an assertion failure.
       (Bug#38821)
For deadlock between two transactions that required a timeout to resolve, all server tables became inaccessible for the duration of the deadlock. (Bug#38804)
When inserting a string into a duplicate-key error message, the server could improperly interpret the string, resulting in a crash. (Bug#38701)
A race condition between threads sometimes caused unallocated memory to be addressed. (Bug#38692)
        A server crash resulted from concurrent execution of a
        multiple-table UPDATE that used a
        NATURAL or USING join
        together with FLUSH
        TABLES WITH READ LOCK or ALTER
        TABLE for the table being updated.
       (Bug#38691)
On ActiveState Perl, mysql-test-run.pl --start-and-exit started but did not exit. (Bug#38629)
An uninitialized variable in the query profiling code was corrected (detected by Valgrind). (Bug#38560)
        A server crash resulted from execution of an
        UPDATE that used a derived table
        together with FLUSH
        TABLES.
       (Bug#38499)
Stored procedures involving substrings could crash the server on certain platforms due to invalid memory reads. (Bug#38469)
        The handlerton-to-plugin mapping implementation did not free
        handler plugin references when the plugin was uninstalled,
        resulting in a server crash after several install/uninstall
        cycles. Also, on Mac OS X, the server crashed when trying to
        access an EXAMPLE table after the
        EXAMPLE plugin was installed.
       (Bug#37958)
The server crashed if an argument to a stored procedure was a subquery that returned more than one row. (Bug#37949)
When analyzing the possible index use cases, the server was incorrectly reusing an internal structure, leading to a server crash. (Bug#37943)
        Access checks were skipped for SHOW
        PROCEDURE STATUS and SHOW
        FUNCTION STATUS, which could lead to a server crash or
        insufficient access checks in subsequent statements.
       (Bug#37908)
        The <=>
        operator could return incorrect results when comparing
        NULL to DATE,
        TIME, or
        DATETIME values.
       (Bug#37526)
        The combination of a subquery with a GROUP
        BY, an aggregate function calculated outside the
        subquery, and a GROUP BY on the outer
        SELECT could cause the server to
        crash.
       (Bug#37348)
        The NO_BACKSLASH_ESCAPES SQL
        mode was ignored for
        LOAD DATA
        INFILE and SELECT INTO ... OUTFILE.
        The setting is taken into account now.
       (Bug#37114)
In some cases, references to views were confused with references to anonymous tables and privilege checking was not performed. (Bug#36086)
For crash reports on Windows, symbol names in stack traces were not correctly resolved. (Bug#35987)
        ALTER EVENT changed the
        PRESERVE attribute of an event even when
        PRESERVE was not specified in the statement.
       (Bug#35981)
        Host name values in SQL statements were not being checked for
        '@', which is illegal according to RFC952.
       (Bug#35924)
        mysql_install_db failed on machines that had
        the host name set to localhost.
       (Bug#35754)
Dynamic plugins failed to load on i5/OS. (Bug#35743)
        With the
        PAD_CHAR_TO_FULL_LENGTH SQL
        mode enabled, a ucs2
        CHAR column returned additional
        garbage after trailing space characters.
       (Bug#35720)
        A trigger for an InnoDB table activating
        multiple times could lead to AUTO_INCREMENT
        gaps.
       (Bug#31612)
mysqldump could fail to dump views containing a large number of columns. (Bug#31434)
The server could improperly type user-defined variables used in the select list of a query. (Bug#26020)
        For access to the
        INFORMATION_SCHEMA.VIEWS table, the
        server did not check the SHOW
        VIEW and SELECT
        privileges, leading to inconsistency between output from that
        table and the SHOW CREATE VIEW
        statement.
       (Bug#22763)
        mysqld_safe would sometimes fail to remove
        the pid file for the old mysql process after
        a crash. As a result, the server would fail to start due to a
        false A mysqld process already exists...
        error.
       (Bug#11122)


User Comments
Add your own comment.