MySQL

MySQL 5.6.36

MySQL AB
開源軟體

MySQL 5.6.36

更新時間:2017-04-11
更新細節:

Compilation Notes:
Windows builds now use the default runtime libraries (builds use the /MD flag).
CMake support was added for compiling with Developer Studio 12.6.
Configuration Notes:
MySQL failed to compile if -DENABLE_DEBUG_SYNC=OFF AND -DWITH_DEBUG=ON were both given. The ENABLE_DEBUG_SYNC option has been removed and enabling WITH_DEBUG enables Debug Sync.
Packaging Notes:
Changes in RPM package structure require a larger set of packages to be removed to install MySQL Server cleanly.
To avoid potential race conditions, Debian packages now use the GNU install utility rather than a combination of mkdir, touch, and chown.
CMake-generated packaging for Debian/Ubuntu packages was refactored for improved maintainability. The change includes updated logic for correctly replacing native distribution packaging in Debian and Ubuntu.
Reminder: MySQL 5.6 requires the Microsoft Visual C++ 2010 Redistributable Package to run on Windows platforms. Users should make sure the package has been installed on the system before starting the server. The package is available at the Microsoft Download Center.
Security Notes:
The linked OpenSSL library for the MySQL Commercial Server has been updated to version 1.0.2k. For a description of issues fixed in this version,
This change does not affect the Oracle-produced MySQL Community build of MySQL Server, which uses the yaSSL library instead.
The mysql_options() C API function now supports a MYSQL_OPT_SSL_MODE option. The only permitted option value is SSL_MODE_REQUIRED, to require a secure connection to the server. It causes mysql_real_connect() to fail if an encrypted connection cannot be obtained, without falling back to an unencrypted connection. Thus, mysql_real_connect() returns an error if the server does not support SSL or the client is not configured to use SSL. The client/server exchange terminates immediately after the initial server packet has been received if the server indicates that it does not support SSL.
To require an encrypted connection in MySQL 5.6, the standard MySQL client programs call mysql_options() to set MYSQL_OPT_SSL_MODE if the --ssl-mode=REQUIRED command-line option was specified. Third-party applications that must be able to require encrypted connections can use the same technique. For details, see mysql_ssl_set().
The minor C API version number was not incremented for this change. Application programs compiled for MySQL 5.6 that require MYSQL_OPT_SSL_MODE may fail to operate properly if the dynamic loader provides an older client library without MYSQL_OPT_SSL_MODE. Such applications must be written to handle this possibility by checking whether the mysql_options() call succeeds or fails.
Thread Pool Notes:
To improve thread_pool plugin performance, connection authentication and initialization have been moved from the acceptor thread to the thread pool worker threads that handle client connections. This enables the acceptor thread to handle new connections at a higher rate with reduced latency. The INFORMATION_SCHEMA TP_THREAD_GROUP_STATE table now contains a CONNECT_THREAD_COUNT column that indicates the number of threads that are processing or waiting to process connection initialization and authentication. There can be a maximum of four connection threads per thread group; these threads expire after a period of inactivity.
Functionality Added or Changed:
Replication: When a negative or fractional timeout parameter was supplied to WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS(), the server behaved in unexpected ways. With this fix: A fractional timeout value is read as-is, with no round-off. A negative timeout value is rejected with an error if the server is on a strict SQL mode; if the server is not on a strict SQL mode, the value makes the function return NULL immediately without any waiting and then issue a warning.
The performance of UTF-8 binary collations was improved.
Consistency and maintainability of Debian/Ubuntu packaging maintainer scripts was improved.
mysql_secure_installation is more strict about what it considers valid yes and no responses.
Bugs Fixed:
InnoDB: The restriction that required the first undo tablespace to use space ID 1 was removed. The first undo tablespace may now be assigned a space ID other than 1. Space ID values for undo tablespaces are still assigned in a consecutive sequence.
InnoDB: Compiling the server without the Performance Schema caused a build failure.
InnoDB: The file handle type name for InnoDB file I/O Performance Schema instrumentation was changed from os_pfs_file_t to pfs_os_file_t.
InnoDB: A server exit on restart was caused by missing my_thread_init() and my_thread_exit() functions for background threads that initialize the st_my_thread_var structure.
InnoDB: A memcached read operation with a non-default read batch size configuration resulted in a server exit.
InnoDB: Performance Schema instrumentation for InnoDB file I/O was disabled on Windows.
InnoDB: The row_search_mvcc() function unnecessarily traversed the entire table for a range query, which occurred when the record was not in the transaction read view.
Replication: When using a multi-threaded slave (slave_parallel_workers greater than 0) the value of Seconds_Behind_Master was incorrect when rotating a relay log.
mysqldump failed to properly quote certain identifiers in SQL statements written to the dump output.
Client preauthorization by the server was missing a length check for a length-encoded string.
For Debian/Ubuntu packages, user-defined collation files could be overwritten during MySQL upgrades. Charset files are now marked as conffiles so that user customizations generate a prompt during upgrades whether to overwrite them.
For CREATE TABLE statements that specified the table name with a database qualifier and included a DATA DIRECTORY or INDEX DIRECTORY option, an error occurred if there was no default database.
Starting the server with performance_schema_digests_size=1 caused an abnormal exit.
mysqld_safe did not check whether the directory named by the --basedir option existed.
mysqld_safe failed if the error log file named by the --log-error option was a FIFO.
mysqld_safe could fail if the --datadir option value ended with a / character.
A recent change to mysqld_safe caused the mysql.server script to be unable to start it if the base directory was specified as an absolute path that differed from the compiled-in default absolute path.
The fix for Bug #78777 had different effects depending on whether the Performance Schema is enabled.
The connection_control plugin failed to compile if the Performance Schema was disabled.
For System V init scripts for RPMs, the [mysqld] option-file section was being ignored for some options, such as pid-file.
Init scripts failed to launch mysqld_safe if a non-default base directory was used.
mysqld_safe --no-defaults did not work (inadvertent consequence of an earlier bug fix).
Semicolon (;) characters within or between statements could cause distinct digests to be generated from identical statements.
For a client linked against libmysqlclient, invalid memory access could occur during use of prepared statements.
The fix for Bug #25088048 caused the command used by mysqld_safe to start the MySQL server to no longer include the mysqld path.
Executing a stored procedure containing a query that accessed a view could allocate memory that was not freed until the session ended.
A query could produce incorrect results if the WHERE clause contained a dependent subquery, the table had a secondary index on the columns in the select list followed by the columns in the subquery, and GROUP BY or DISTINCT permitted the query to use a Loose Index Scan.
Creation of a MyISAM temporary table during query processing could fail if the key length in the query was greater than the maximum MyISAM key length, resulting in a server exit.
The DebugPrintTest and DebugPrintDeathTest unit tests did not handle divide-by-zero testing properly on the Aarch64 platform. Thanks to Alexey Kopytov for the patch.
Changes made to mysqld_safe in recent MySQL releases require the --ledir, --mysqld, --mysqld-version options to be specified on the command line; they can no longer be specified in option files. This could cause failure of init scripts that invoke mysqld_safe. Such scripts now pass the value of the MYSQLD_OPTS environment variable as the first command-line argument to mysqld_safe, with the value set to such command line-only mysqld_safe option values as may be required. On platforms that use /etc/sysconfig/mysqld, the MYSQLD_OPTS value can be set in that file with a line such as this: MYSQLD_OPTS=" --ledir=/mysqld_ledir --mysqld=my_wrapper "
The value of MYSQLD_OPTS can also include mysqld options for mysqld_safe to pass to mysqld.
For LOAD DATA used to insert data into an updateable view, the check to verify whether a column is actually updatable was missing.
On Debian/Ubuntu platforms, the systemd startup script for MySQL ignored datadir settings in /etc/mysql/my.cnf.
A regular expression pattern match into a large string could result in a server exit due to memory allocation failure or integer overflow.
An incorrect error was reported for CREATE TABLE statements with a large value for the CONNECTION table option. The value is now limited to 1024 bytes.
MySQL now uses readdir() rather than readdir_r(). The latter has been deprecated since glibc 2.24 and caused debug builds of MySQL and builds using GCC 6.1 to fail.
Additionally, several problems resulting in GCC 6.1 compiler warnings were corrected.
The -DWITH_EDITLINE=system CMake option failed with recent versions of the editline library.
Grant tables with incorrect structure may cause problems in user management operations. As a consequence of the fix for this, for any operation that modifies a grant table, the server now checks whether the table has the expected structure and produces an error if not. mysql_upgrade must be run to update the tables to the expected structure.
The QUOTE() function could allocate excessive memory. A limit of max_allowed_packet bytes is now imposed and returns NULL with a warning for attempts to allocate more.
When attempting to locate the data directory, mysqld_safe incorrectly considered $MY_BASEDIR_VERSION/var as one of the possible locations.
The main.log_tables-big test case could be unstable on highly loaded hosts. Thanks to Laurynas Biveinis for the patch.
Queries that used an aggregate function with DISTINCT could produce incorrect results.
With the use_index_extensions flag of the optimizer_switch system variable disabled, some SELECT DISTINCT queries could return incorrect results.
Debian packages were missing an AppArmor-related include file and incorrectly were marked dependent on AppArmor (making it impossible to disable AppArmor by uninstalling it).
In a replication environment, SET PASSWORD or ALTER USER could fail to execute on the slave due to failure to parse the hash string correctly.
On non-Linux Unix systems, the mysql.server startup script used the Linux command pidof rather than pgrep.
Starting multiple instances of mysqld_safe after an abnormal server exit could result in one mysqld_safe instance killing another. As a consequence of the bug fix, the mysqld_safe.pid file is no longer used.
The --help message for mysqld_safe was corrected to mention that the --no-defaults, --defaults-file, and --defaults-extra-file options, if given, must be the first argument.
The bounds check for the XML parser position stack for each level (which has a fixed depth) used the size of the array as the upper limit, and so was off by one. This is fixed by decreasing the allowable depth by one, which actually matches the maximum number of elements in the position stack.
Timestamps for server-side prepared statements could be written to the binary log up to a second behind timestamps for the corresponding nonprepared statements, leading to time value differences between master and slave servers.


版本下載:MySQL 5.6.36

MySQL 5.6.35

更新時間:2016-12-15
更新細節:

# MySQL Enterprise Notes
- Enterprise Encryption for MySQL Enterprise Edition now enables server administrators to impose limits on maximum key length by setting environment variables. These can be used to prevent clients from using excessive CPU resources by passing very long key lengths to key-generation operations. For more information, see Enterprise Encryption Usage and Examples.
# Security Notes
* Incompatible Change: These changes were made to mysqld_safe:
- Unsafe use of rm and chown in mysqld_safe could result in privilege escalation. chown now can be used only when the target directory is /var/log. An incompatible change is that if the directory for the Unix socket file is missing, it is no longer created; instead, an error occurs. Due to these changes, /bin/bash is required to run mysqld_safe on Solaris. /bin/sh is still used on other Unix/Linux platforms.
- The --ledir option now is accepted only on the command line, not in option files.
- mysqld_safe ignores the current working directory.
# Other related changes:
- Initialization scripts that invoke mysqld_safe pass --basedir explicitly.
- Initialization scripts create the error log file only if the base directory is /var/log or /var/lib.
- Unused systemd files for SLES were removed.
- MySQL Server now includes a plugin library that enables administrators to introduce an increasing delay in server response to clients after a certain number of consecutive failed connection attempts. This capability provides a deterrent that slows down brute force attacks that attempt to access MySQL user accounts. For more information, see The Connection-Control Plugin.
- OpenSSL is ending support for version 1.0.1 in December 2016; Consequently, MySQL Commercial Server builds now use version 1.0.2 rather than version 1.0.1, and the linked OpenSSL library for the MySQL Commercial Server has been updated from version 1.0.1 to version 1.0.2j. For a description of issues fixed in this version, This change does not affect the Oracle-produced MySQL Community build of MySQL Server, which uses the yaSSL library instead.
# Functionality Added or Changed
- InnoDB: By default, InnoDB reads uncommitted data when calculating statistics. In the case of an uncommitted transaction that deletes rows from a table, InnoDB excludes records that are delete-marked when calculating row estimates and index statistics, which can lead to non-optimal execution plans for other transactions that are operating on the table concurrently using a transaction isolation level other than READ UNCOMMITTED. To avoid this scenario, a new configuration option, innodb_stats_include_delete_marked, can be enabled to ensure that InnoDB includes delete-marked records when calculating persistent optimizer statistics.
- Unit testing now uses Google Mock 1.8.
# Bugs Fixed
- Incompatible Change: A change made in MySQL 5.6.32 for handling of multibyte character sets by LOAD DATA was reverted due to the replication incompatibility
- InnoDB: The GCC mach_parse_compressed function should load one to five bytes depending on the value of the first byte. Due to a GCC bug, GCC 5 and 6 emit code to load four bytes before the first byte value is checked . A workaround prevents this behavior.
- InnoDB: Due to a glibc bug, short-lived detached threads could exit before the caller had returned from pthread_create(), causing a server exit.
- InnoDB: An error during a table-rebuilding operation on a table with only a generated clustered index (GEN_CLUST_INDEX) raised and assertion due to an error called with an invalid key name.
- InnoDB: On a table without an explicitly defined primary key, InnoDB did not replace the implicit clustered index (GEN_CLUST_INDEX) when a unique key was defined on a NOT NULL column.
- InnoDB: InnoDB failed to free memory used by the full-text optimizer thread.
- InnoDB: SHOW ENGINE INNODB STATUS output showed a “cleaning up” state for an idle thread. Thread state information was not reset after statement execution.
- InnoDB: After a server restart, concurrent INSERT operations a table with an auto-increment primary key resulted in a duplicate entry error. The current auto-increment value was not changed after auto_increment_increment and auto_increment_offset settings were modified.
- Replication: Tables with special DEFAULT columns, such as DEFAULT CURRENT_TIMESTAMP, that existed only on a slave were not being updated when using row-based replication (binlog_format=ROW).
- Replication: Enabling semisynchronous replication when a server was during the commit stage could cause the master to stop unexpectedly.
- Replication: The fix for Bug #81657 was correctly merged into MySQL 5.6.
- Some Linux startup scripts did not process the datadir setting correctly.
- CREATE TABLE with a DATA DIRECTORY clause could be used to gain extra privileges.
- OEL RPM packages now better detect which platforms have multilib support (for which 32-bit and 64-bit libraries can be installed). Thanks to Alexey Kopytov for the patch.
- Compiling MySQL using Microsoft Visual Studio 2015 Version 14.0.25420.1 in relwithdebinfo mode failed with linking errors.
- Warnings occurring during CREATE TABLE ... SELECT could cause a server exit.
- For segmentation faults on FreeBSD, the server did not generate a stack trace.
- The .mylogin.cnf option file is intended for use by client programs, but the server was reading it as well. The server no longer reads it.
- If mysqladmin shutdown encountered an error determining the server process ID file, it displayed an error message that did not clearly indicate the error was nonfatal. It now indicates that execution continues.
- The data structure used for ZEROFILL columns could experience memory corruption, leading eventually to a server exit.
- Use of very long subpartition names could result in a server exit. Now partition or subpartition names larger than 64 characters produce an ER_TOO_LONG_IDENT error.
- On Solaris, gettimeofday() could return an invalid value and cause a server shutdown.
- A union query resulting in tuples larger than max_join_size could result in a server exit.
- The optimizer could choose ref access on a secondary index rather than range access on the primary key, even when the cost was higher.
- For some deeply nested expressions, the optimizer failed to detect stack overflow, resulting in a server exit.
- When taking the server offline, a race condition within the Performance Schema could lead to a server exit.
- The Performance Schema events_statements_summary_by_digest table could contain multiple rows for the same statement digest and schema combination, rather than the expected single (unique) row.
- For debug builds: Adding a unique index to a POINT NOT NULL column triggered a warning and the key was not promoted to a primary key. Creating a unique index on a different non-NULL column in the same table then raised an assertion.
- Compiling using Clang 3.5 or higher with AddressSanitizer (ASAN) enabled caused the gen_lex_hash utility to abort on Clang LeakSanitizer memory leak check failures.
- Miscalculation of memory requirements for qsort operations could result in stack overflow errors in situations with a large number of concurrent server connections.


版本下載:MySQL 5.6.35

MySQL 5.5.50

更新時間:2016-06-06
更新細節:

# Functionality Added or Changed
- The version of the tcmalloc library included in MySQL distributions was very old. It has been removed and is no longer included with MySQL.
# Bugs Fixed
- INSERT with ON DUPLICATE KEY UPDATE and REPLACE on a table with a foreign key constraint defined failed with an incorrect “duplicate entry” error rather than a foreign key constraint violation error.
- Setting sort_buffer_size to a very large value could cause some operations to fail with an out-of-memory error.
- Several potential buffer overflow issues were corrected.
- If the CA certificate as given to the --ssl-ca option had an invalid path, yaSSL returned an error message different from OpenSSL. Now both return SSL connection error: SSL_CTX_set_default_verify_paths failed.
- Some string functions returned one or a combination of their parameters as their result. If one of the parameters had a non-ASCII character set, the result string had the same character set, resulting in incorrect behavior when an ASCII string was expected.
- A null pointer dereference of a parser structure could occur during stored procedure name validation.
- mysqld_multi displayed misleading error messages when it was unable to execute my_print_defaults.


版本下載:MySQL 5.5.50

MySQL 5.6.31

更新時間:2016-06-06
更新細節:

# Bugs Fixed
- InnoDB: MySQL failed to build on Fedora 24 using GCC 6.
- InnoDB: Potential buffer overflow issues were corrected for the InnoDB memcached plugin.
- InnoDB: The full-text index cache was freed during a background index cache synchronization.
- InnoDB: A full-text index operation raised an assertion.
- InnoDB: An INSERT operation on a table with a FULLTEXT index and FTS_DOC_ID column failed because the inserted FTS_DOC_ID value exceeded the permitted gap between consecutive FTS_DOC_ID values. To avoid this problem, the permitted gap between the largest used FTS_DOC_ID value and new FTS_DOC_ID value was raised from 10000 to 65535. (Bug #22679185)
- InnoDB: With innodb_autoinc_lock_mode=0, multiple threads waiting for a table-level lock caused an unexpected deadlock.
- InnoDB: A FLUSH TABLES ... FOR EXPORT operation appeared to stall. A loop in the ibuf_contract_in_background function failed to exit.
- InnoDB: A full-text query raised an assertion. Under certain circumstances, DDL operations such as ALTER TABLE ... RENAME caused full-text auxiliary tables to be removed on server restart.
- Replication: In the next_event() function, which is called by a slave's SQL thread to read the next even from the relay log, the SQL thread did not release the relaylog.log_lock it acquired when it ran into an error (for example, due to a closed relay log), causing all other threads waiting to acquire a lock on the relay log to hang. With this fix, the lock is released before the SQL thread leaves the function under the situation.
- Replication: If a multi-threaded replication slave running with relay_log_recovery=1 stopped unexpectedly, during restart the relay log recovery process could fail. This was due to transaction inconsistencies not being filled, see Handling an Unexpected Halt of a Replication Slave. Prior to this fix, to recover from this situation required manually setting relay_log_recovery=0, starting the slave with START SLAVE UNTIL SQL_AFTER_MTS_GAPS to fix any transaction inconsistencies and then restarting the slave with relay_log_recovery=1. This process has now been automated, enabling relay log recovery of a multi-threaded slave upon restart automatically.
- INSERT with ON DUPLICATE KEY UPDATE and REPLACE on a table with a foreign key constraint defined failed with an incorrect “duplicate entry” error rather than a foreign key constraint violation error.
- For debug builds, CONCAT_WS() could raise an assertion if there was nothing to append.
- Invoking Enterprise Encryption functions in multiple threads simultaneously could cause a server exit.
- Attempting to use Enterprise Encryption functions after creating and dropping them could cause a server exit.
- Setting sort_buffer_size to a very large value could cause some operations to fail with an out-of-memory error.
- An assertion could be raised when a deadlock occurred due to a SELECT ... GROUP BY ... FOR UPDATE query executed using a Loose Index Scan.
- Several potential buffer overflow issues were corrected.
- If the CA certificate as given to the --ssl-ca option had an invalid path, yaSSL returned an error message different from OpenSSL. Now both return SSL connection error: SSL_CTX_set_default_verify_paths failed.
- Some string functions returned one or a combination of their parameters as their result. If one of the parameters had a non-ASCII character set, the result string had the same character set, resulting in incorrect behavior when an ASCII string was expected.
- On Windows, MySQL installation could result in MySQL being placed under C:Program FilesCanonEasy-WebPrint EX.
- On Fedora 24, upgrades using a Community MySQL Server RPM failed to replace an installed MariaDB Galera server due to a change in the MariaDB package.
- MySQL did not compile under Solaris 12 using Sun Studio. To correct this, instances of __attribute__ were changed to MY_ATTRIBUTE.
- The INSTALL-SOURCE file had partly outdated information and has been removed from source packages. (Binary packages are unaffected).
- For a server compiled with -DWITH_PERFSCHEMA_STORAGE_ENGINE=0, a memory leak could occur for buffered log messages used during server startup.
- For debug builds, merging a derived table into an outer query block could raise an assertion.
- A null pointer dereference of a parser structure could occur during stored procedure name validation.
- Using CREATE USER to create an account with the mysql_native_password or mysql_old_password authentication plugin and using a clause of the form IDENTIFIED WITH plugin AS 'hash_string' caused the account to be created without a password.
- Failure of UNINSTALL PLUGIN could lead to inaccurate or confusing errors for subsequent INSTALL PLUGIN operations.
- mysqld_multi displayed misleading error messages when it was unable to execute my_print_defaults.
- On Windows, MySQL installation failed if the HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionUninstall registry key was present with a key/value pair of "InstallLocation" and "Hewlett-Packard\".
- mysqldump failed silently with no error message when it encountered an error while executing FLUSH LOGS.


版本下載:MySQL 5.6.31

MySQL 5.6.30

更新時間:2016-04-12
更新細節:

# Bugs Fixed
* InnoDB; Partitioning: When OPTIMIZE TABLE rebuilt a partitioned InnoDB table, it placed the resulting partition tablespace files (*.ibd files) in the default data directory instead of the directory specified using the DATA DIRECTORY option.
* InnoDB: Running REPLACE operations on multiple connections resulted in a hang.
* InnoDB: MySQL stalled when syncing the InnoDB full-text index cache.
* InnoDB: A CREATE TABLE ... DATA DIRECTORY operation failed to create a table while innodb_flush_method was set to O_DIRECT.
* InnoDB: The innodb_open_files setting could exceed the open files limit.
* Replication: Issuing STOP SLAVE caused a spurious Error reading packet from server: Lost connection to MySQL server during query message to be written to the error log. With this fix, when connection to the master is lost, the abort_slave flag is checked and the error message is printed only if the flag is not set.
* Replication: In Slave_worker::write_info(), DBUG_ENTER() had “Master_info::write_info” as its argument instead of “Slave_worker::write_info”. This fix corrects the argument. Thanks to Stewart Smith for the patch.
* Replication: When a multi-threaded slave stopped with an error, the same error message was printed three times. Now, the SQL thread's kill acceptance status is saved, and only printed once.
* Replication: mysqlbinlog --verbose displayed BINARY and VARBINARY data as ordinary strings, causing any single quote (“'”) or backslash (“”) among the data to be printed as such, which was confusing to the users and, in the case of a backslash, caused the next character to be skipped. This fix makes mysqlbinlog print the characters' hexadecimal values (“x27” for single quote and “x5c” for backslash) instead.
* Replication: The test case main.merge failed when the variables binlog_format was set to “ROW,” as the server tried to get information for table creation for a child table before it was opened. With this fix, the server skips getting information for the table in the situation.
* Replication: If a query on a master generated an error and partial results were written to the binary log, for example due to a DROP TABLE IF EXISTS statement applying to multiple tables that would break foreign key constraints, when a slave configured with replication filters encountered the query it could be incorrectly binary logged. This caused errors such as:
* Last_SQL_Error: Query caused different errors on master and slave. Error on master: message (format)='Cannot delete or update a parent row: a foreign key constraint fails' error code=1217 ; Error on slave: actual message='no error', error code=0. Default database: 'db1'. Query: 'DROP TABLE IF EXISTS `table1` /* generated by server */'
* There were two fixes required for this bug.
- If a DROP TABLE statement used to drop a single table fails, to avoid partial results causing this bug the query is not written to the binary log. If a DROP TABLE statement used to drop a list of tables fails, any partial results it generates are written to the binary log with an error.
- When a query that generates an error as expected was received by a slave but it was skipped due to replication filters, the slave was incorrectly checking the error. The fix ensures that this comparison of the expected error from the master with the actual error from the slave does not happen.
* Integer overflow could occur during client handshake processing, leading to a server exit.
* The System-V initialization script for RHEL6 or older failed to enable the mysqld service by default.
* When ExtractValue() found no match for the supplied expression, it returned NULL instead of an empty string as expected.
* This issue affected MySQL 5.6.28 and 5.6.29 only.
* Improper host name checking in X509 certificates could permit man-in-the-middle attacks.
* A boolean mode full-text search caused a segmentation fault.
* Concurrent selecting and flushing of a FEDERATED table while killing connections accessing it could result in a server exit.
* Executing GRANT PROXY statements after altering the definition of the mysql.user system table could result in a server exit.
* Certain error messages included part of the SQL statement that produced them, possibly exposing data.
* The Performance Schema assumed that tables named using a #sql prefix were temporary and could be ignored. But it is possible to create nontemporary tables using that prefix. The Performance Schema now uses table attributes other than the name to identify temporary tables.
* Character set conversion operations on NULL parameters to prepared statements could cause a server exit.
* Loose Index Scan was not chosen for queries that had an equality condition.
* A MySQL 5.6 server exited during startup if used with a 5.7 data directory due to the change in 5.7 of the mysql.plugin table from MyISAM to InnoDB. A safe shutdown now occurs in this circumstance.
* For INSERT and UPDATE operations that caused FOREIGN KEY constraint violations, errors were reported rather than warnings when the IGNORE keyword was used.
* For some queries, an Index Merge access plan was chosen over a range scan when the cost for the range scan was the same or less.
* Certain queries could raise an assertion when a internal string operation produced a NULL pointer rather than an empty string.
* EXPLAIN for SELECT ... FOR UPDATE statements acquired locks.
* Processlist state information was not updated correctly for LOAD DATA INFILE and could show a state different from executing.


版本下載:MySQL 5.6.30

MySQL 5.5.49

更新時間:2016-04-12
更新細節:

# Bugs Fixed
* InnoDB: Running REPLACE operations on multiple connections resulted in a hang.
* Replication: The test case main.merge failed when the variables binlog_format was set to “ROW,” as the server tried to get information for table creation for a child table before it was opened. With this fix, the server skips getting information for the table in the situation.
* MySQL did not build with GCC 5.
* The System-V initialization script for RHEL6 or older failed to enable the mysqld service by default.
* Improper host name checking in X509 certificates could permit man-in-the-middle attacks.
* A boolean mode full-text search caused a segmentation fault.
* Concurrent selecting and flushing of a FEDERATED table while killing connections accessing it could result in a server exit.
* Executing GRANT PROXY statements after altering the definition of the mysql.user system table could result in a server exit.
* Certain error messages included part of the SQL statement that produced them, possibly exposing data.
* Character set conversion operations on NULL parameters to prepared statements could cause a server exit.
* For INSERT and UPDATE operations that caused FOREIGN KEY constraint violations, errors were reported rather than warnings when the IGNORE keyword was used.
* Processlist state information was not updated correctly for LOAD DATA INFILE and could show a state different from executing.


版本下載:MySQL 5.5.49

HWiNFO 5.22

更新時間:2016-03-17
更新細節:
版本下載:HWiNFO 5.22

MySQL 5.6.29

更新時間:2016-02-08
更新細節:

# Functionality Added or Changed
- InnoDB: A new InnoDB configuration option, innodb_tmpdir, allows you to configure a separate temporary file directory for online ALTER TABLE operations. This option was introduced to help avoid tmpdir overflows that could occur as a result of large temporary files created during online ALTER TABLE operations. innodb_tmpdir is a SESSION variable and can be configured dynamically using a SET statement.
- yaSSL was upgraded to version 2.3.9. This upgrade corrects an issue in which yaSSL handled only cases of zero or one leading zeros for the key agreement instead of potentially any number, which in rare cases could cause connections to fail when using DHE cipher suites.
- The Valgrind function signature in mysql-test/valgrind.supp was upgraded for Valgrind 3.11.
# Bugs Fixed
- InnoDB: A small InnoDB buffer pool size with a large innodb_stats_persistent_sample_pages setting resulted in a Difficult to find free blocks in the buffer pool warning.
- InnoDB: Starting the server with an empty innodb_data_home_dir entry in the configuration file caused InnoDB to look for the buffer pool file in the root directory, resulting in a startup error.
- InnoDB: A full-text query run under high concurrency caused a server exit due to an invalid memory access.
- InnoDB: With a large innodb_sort_buffer_size setting, adding an index on an empty table performed more slowly than expected.
- Replication: When DML invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column, that DML has to be marked as an unsafe statement. If the tables are locked in the transaction prior to the DML statement (for example by using LOCK TABLES), then the DML statement was not being marked as an unsafe statement. The fix ensures that such DML statements are marked correctly as unsafe.
- Replication: As part of the fix for Bug #16290902, when writing a DROP TEMPORARY TABLE IF EXISTS query into the binary log, the query is no longer preceded by a USE `db` statement. Instead the query uses a fully qualified table name, for example DROP TEMPORARY TABLE IF EXISTS `db`.`t1`;. This changed the application of replicate-rewrite-db filter rules, as they work only on the default database specified in a USE statement. This caused slaves to fail when the resulting CREATE TEMPORARY TABLE was applied. The fix ensures that at the time of writing a DROP TEMPORARY TABLE IF EXISTS query into the binary log, a check is made for the default database. If it exists then the query is written as USE default_db in the binary log. If a default database is not present then the query is logged with the qualified table name.
- Replication: If generating a GTID for a transaction fails, the transaction is not written to the binary log but still gets committed. Although running out of GTIDs is a rare situation, if it did occur an error was written to the binary log as a sync stage error. With binlog_error_action=ABORT_SERVER, the server aborts on such an error, avoiding data inconsistency. When binlog_error_action=IGNORE_ERROR, the server continues binary logging after such an error, potentially leading to data inconsistency between the master and the slave. The fix changes the error to be correctly logged as a flush stage error.
- Replication: When using --gtid-mode=on , --enforce-gtid-consistency , and --binlog-format=row, if a user defined function with multiple DROP TEMPORARY TABLE statements was executed on a master, the resulting binary log caused an error on slaves. The fix ensures that stored functions and triggers are also considered multi-statement transactions, and that when --enforce-gtid-consistency is enabled, functions with CREATE TEMPORARY TABLE or DROP TEMPORARY TABLE statements generate an ER_GTID_UNSAFE_CREATE_DROP_TEMPORARY_TABLE_IN_TRANSACTION error.
- Replication: Stored procedure local variables that were used in an ALTER EVENT statement were not being replicated correctly. This was related to the fact that CALL statements are not written into the binary log. Instead each statement executed in a stored procedure is binary logged separately, with the exception that the query string is modified so that uses of stored procedure local variables are replaced with NAME_CONST('spvar_name', 'spvar-value') calls. DDL statements (which are always binary logged in statement binary log mode irrespective of the current binary log format) can also use stored procedure local variables and a clash could cause them to not be replicated correctly. The fix ensures that any stored procedure local variables used in a query are replaced with NAME_CONST(...), except for the case when it is a DML query and the binary log format is ROW.
- Replication: DROP TABLE statements are regenerated by the server before being written to the binary log. If a table or database name contained a non-regular character, such as non-latin characters, the regenerated statement was using the wrong name, breaking replication. The fix ensures that in such a case the regenerated name is correctly converted back to the original character set. Also during work on this bug, it was discovered that in the rare case that a table or database name contained 64 characters, the server was throwing an assert(M_TBLLEN < 128) assertion. The assertion has been corrected to be less than or equal 128.
- Replication: Irrespective of the current binlog_format setting, DDL that changes metadata on a master is always identified and written to the binary log in STATEMENT format. Such DDL could occur from event based SQL statements, such as CREATE EVENT or DROP EVENT, or transactions that had unsafe functions such as sysdate(). When binlog_format=MIXED and attempting to replicate such DDL, it was not being correctly identified and therefore was not being correctly replicated.
- Inserting a token of 84 4-byte characters into a full-text index raised an assertion. The maximum token length was 84 characters up to a maximum of 252 bytes, which did not account for 4-byte characters. The maximum byte length is now 336 bytes.
- If a client attempted to use an unsupported client character set (ucs2, utf16, utf32), the error message reported to the client differed for SSL and non-SSL connections.
- Data corruption or a server exit could occur if a stored procedure had a variable declared as TEXT or BLOB and data was copied to that variable using SELECT ... INTO syntax from a TEXT or BLOB column.
- CREATE TEMPORARY TABLE .. SELECT statements involving BIT columns that resulted in a column type redefinition could cause a server exit or an improperly created table.
- Added Microsoft Visual Studio 2015 support. Changes include using the native (added in VS 2015) timespec library if it exists, renamed lfind/lsearch and timezone/tzname to avoid redefinition problems, set TMPDIR to "" by default as P_tmpdir no longer exists, deprecated std::hash_map in favor of std::unordered_map, and added Wix Toolset 3.10 support
- With character_set_server=utf16le, some values of ft_boolean_syntax could cause a server exit for full-text searches.
- With LOCK TABLES in force, an attempt to open a temporary MERGE table consisting of a view in its list of tables (not the last table in the list) caused a server exit.
- For certain prepared statements, the optimizer could transform join conditions such that it used a pointer to a temporary table field that was no longer available after the initial execution. Subsequent executions caused a server exit.
- Repeated execution of ALTER TABLE v1 CHECK PARTITION as a prepared statement, where v1 is a view, led to a server exit.
- In addition, output for some administrative operations, when they are attempted on a view, changes from “Corrupt” to “Operation failed”. These include ANALYZE TABLE, OPTIMIZE TABLE, and REPAIR TABLE, and ALTER TABLE statements that perform ANALYZE PARTITION, CHECK PARTITION, OPTIMIZE PARTITION, and REPAIR PARTITION operations.
- Valgrind detected some possibly unsafe use of string functions in code used for asymmetric encryption.
- SSL connections ignored any change made by passing the MYSQL_OPT_READ_TIMEOUT option to the mysql_options() C API function.
- Solaris packages failed to note the dependency of the MySQL client library on the libstlport library.
- Using systemd to start mysqld failed if configuration files contained multiple datadir lines. Now the last datadir line is used.
- If server was started with --thread-handling=no-threads, no foreground thread was created for a client connection. The Performance Schema did not account for the possibility of no foreground threads for queries on the session_connect_attrs table, causing an assertion to be raised.
- ALTER TABLE ... CONVERT TO CHARACTER SET operations that used the INPLACE algorithm were ineffective if the table contained only numeric data types. Also, such operations failed to clean up their temporary .frm file.
- Heavy SHOW PROCESSLIST or SELECT ... FROM INFORMATION_SCHEMA.PROCESSLIST activity could result in the server accepting more than max_connections connections.
- When used with the libmysqld embedded server, the mysql_stmt_execute() C API function failed with a malformed communication packet error, even for simple prepared statements.


版本下載:MySQL 5.6.29

MySQL 5.5.48

更新時間:2016-02-08
更新細節:

# Bug Fixed
- Replication: When DML invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column, that DML has to be marked as an unsafe statement. If the tables are locked in the transaction prior to the DML statement (for example by using LOCK TABLES), then the DML statement was not being marked as an unsafe statement. The fix ensures that such DML statements are marked correctly as unsafe.
- Replication: DROP TABLE statements are regenerated by the server before being written to the binary log. If a table or database name contained a non-regular character, such as non-latin characters, the regenerated statement was using the wrong name, breaking replication. The fix ensures that in such a case the regenerated name is correctly converted back to the original character set. Also during work on this bug, it was discovered that in the rare case that a table or database name contained 64 characters, the server was throwing an assert(M_TBLLEN < 128) assertion. The assertion has been corrected to be less than or equal 128.
- Data corruption or a server exit could occur if a stored procedure had a variable declared as TEXT or BLOB and data was copied to that variable using SELECT ... INTO syntax from a TEXT or BLOB column.
- CREATE TEMPORARY TABLE .. SELECT statements involving BIT columns that resulted in a column type redefinition could cause a server exit or an improperly created table.
- Added Microsoft Visual Studio 2015 support. Changes include using the native (added in VS 2015) timespec library if it exists, renamed lfind/lsearch and timezone/tzname to avoid redefinition problems, set TMPDIR to "" by default as P_tmpdir no longer exists, deprecated std::hash_map in favor of std::unordered_map, and added Wix Toolset 3.10 support.
- When an invalid date was supplied to the UNIX_TIMESTAMP() function using the STR_TO_DATE() function, no check was performed before converting it to a timestamp value.
- With LOCK TABLES in force, an attempt to open a temporary MERGE table consisting of a view in its list of tables (not the last table in the list) caused a server exit.
- For certain prepared statements, the optimizer could transform join conditions such that it used a pointer to a temporary table field that was no longer available after the initial execution. Subsequent executions caused a server exit.
- Repeated execution of ALTER TABLE v1 CHECK PARTITION as a prepared statement, where v1 is a view, led to a server exit.
- In addition, output for some administrative operations, when they are attempted on a view, changes from “Corrupt” to “Operation failed”. These include ANALYZE TABLE, OPTIMIZE TABLE, and REPAIR TABLE, and ALTER TABLE statements that perform ANALYZE PARTITION, CHECK PARTITION, OPTIMIZE PARTITION, and REPAIR PARTITION operations.
- Using systemd to start mysqld failed if configuration files contained multiple datadir lines. Now the last datadir line is used.


版本下載:MySQL 5.5.48

MySQL 5.5.47

更新時間:2015-12-09
更新細節:

# Bugs Fixed
- InnoDB: Altering the letter case of a column introduced an inconsistency between the frm file and data dictionary resulting in a failed CREATE INDEX operation on the altered column.
- MySQL development RPM packages could fail to install if MySQL Connector/C development RPM packages were installed.
- Possible buffer overflow from incorrect use of strcpy() and sprintf() was corrected.
- MySQL RPM packages for RHEL5 failed to create the mysql system user.
- Concurrent FLUSH PRIVILEGES and REVOKE or GRANT statements could produce a small time window during which invalid memory access to proxy user information could occur, leading to a server exit.
- Starting the server with the query_alloc_block_size system variable set to certain negative values on a machine without enough memory could result in out-of-memory errors.
- Using UNINSTALL PLUGIN to uninstall the daemon_example plugin could cause a server exit.
- FLUSH DES_KEY_FILE failed to reload the DES key file.
- A server exit could occur for the second execution of a prepared statement for which an ORDER BY clause referred to a column position.
- Repeated execution of a prepared statement could cause a server exit if the default database was changed.
- Outer references do not work as arguments to MATCH(), but the server did not properly detect them. Now it does and raises an error.
- Valgrind errors were produced during row comparator setup.
- INSERT DELAYED could cause a server exit for tables partitioned with a character column as the key and for which the expression required a character set conversion.
- A server exit could occur when updating a view using an ALL comparison operator on a subquery that selects from an indexed column in the main table.
- When a fixed-width row was inserted into a MyISAM temporary table, the entire content of the record buffer was written to the table, including any trailing space contained in VARCHAR columns, the issue being that this trailing space could be uninitialized. This problem has been resolved by insuring that only the bytes actually used to store the VARCHAR (and none extra) are copied and inserted in such cases.
- Temporary MyISAM tables (unlike normal MyISAM tables) did not use the dynamic row format when they contained VARCHAR columns, resulting in larger temporary files (and more file I/O) than necessary.


版本下載:MySQL 5.5.47

MySQL 5.6.28

更新時間:2015-12-09
更新細節:

# Bugs Fixed
- InnoDB: InnoDB returned an invalid corruption-related error message during an IMPORT TABLESPACE operation.
- InnoDB: An old version of numactl headers on the build host caused a compilation error when building a MySQL version that includes NUMA memory policy support.
- InnoDB: An online ALTER TABLE operation caused a server exit.
- InnoDB: A schema mismatch error occurred when importing a tablespace that was altered by DROP INDEX operation on the source server.
- InnoDB: A duplicate key error that occurred during an online DDL operation reported an incorrect key name.
- InnoDB: An ALTER TABLE operation caused the server to exit on disk full.
- InnoDB: The system tablespace data file did not extend automatically when reaching the file size limit, causing startup to fail with a size mismatch error and preventing the addition of another system tablespace data file.
- InnoDB: Altering the letter case of a column introduced an inconsistency between the frm file and data dictionary resulting in a failed CREATE INDEX operation on the altered column.
- InnoDB: An ALTER TABLE operation that converted a table to an InnoDB file-per-table tablespace did not check for unknown files with the same name as the destination .idb file, permitting an unknown file of the same name to be overwritten.
- Replication: As binlog_error_action=ABORT_SERVER is the default in MySQL 5.7.7 and later it is being used for more error situations. The behavior has been adjusted to generate a core dump to improve troubleshooting possibilities.
- Replication: On a multi-threaded slave configured with master_info_repository=TABLE and relay_log_info_repository=TABLE which had previously been run with autocommit=1, if the slave was stopped and autocommit changed to 0, executing START SLAVE caused the session to appear to hang. After the lock wait timeout, when START SLAVE proceeded the server would stop unexpectedly. The fix ensures that when master_info_repository=TABLE, relay_log_info_repository=TABLE, and autocommit=0 a new transaction is generated for start and commit to avoid deadlocks.
- Replication: Fatal errors encountered during flushing or synchronizing the binary log were being ignored. Such errors are now caught and handled depending on the setting of binlog_error_action.
- Internal buffer sizes in resolve_stack_dump were increased to accommodate larger symbol space requirements for C++ code.
- MySQL development RPM packages could fail to install if MySQL Connector/C development RPM packages were installed.
- Possible buffer overflow from incorrect use of strcpy() and sprintf() was corrected.
- MySQL RPM packages for RHEL5 failed to create the mysql system user.
- For Debian package control files, libnuma-dev was added to Build-Depends to enable NUMA support.
- Selecting DECIMAL values into user-defined variables could cause a server exit.
- Concurrent FLUSH PRIVILEGES and REVOKE or GRANT statements could produce a small time window during which invalid memory access to proxy user information could occur, leading to a server exit.
- Starting the server with the query_alloc_block_size system variable set to certain negative values on a machine without enough memory could result in out-of-memory errors.
- Using UNINSTALL PLUGIN to uninstall the daemon_example plugin could cause a server exit.
- FLUSH DES_KEY_FILE failed to reload the DES key file.
- If an error occurred during the setup phase of subquery materialization used to compute an IN predicate, cleanup of the temporary table did not happen, leading to Valgrind errors.
- Queries rejected by MySQL Enterprise Firewall were truncated to 512 characters when written to the error log.
- A server exit could occur for the second execution of a prepared statement for which an ORDER BY clause referred to a column position.
- Repeated execution of a prepared statement could cause a server exit if the default database was changed.
- Outer references do not work as arguments to MATCH(), but the server did not properly detect them. Now it does and raises an error.
- Valgrind errors were produced during row comparator setup.
- After failure to create a temporary table during join processing and releasing the table descriptor, an attempt to access the now-invalid descriptor could cause a server exit.
- Type conversion failure for DECIMAL values could cause a server exit.
- INSERT DELAYED could cause a server exit for tables partitioned with a character column as the key and for which the expression required a character set conversion.
- During a filesort for an UPDATE statement, the optimizer could access a stale pointer, resulting in a server exit.
- A server exit could occur when updating a view using an ALL comparison operator on a subquery that selects from an indexed column in the main table.
- Some stress test files in the mysql-test/suite/innodb_stress directory had the executable file mode set although they were not script files.
- The server initialization script used for the service mysql status command on Linux sometimes incorrectly reported that the server was stopped.


版本下載:MySQL 5.6.28

MySQL 5.6.27

更新時間:2015-10-01
更新細節:沒有資料
版本下載:MySQL 5.6.27

MySQL 5.5.46

更新時間:2015-10-01
更新細節:

# Functionality Added or Changed
* yaSSL was upgraded to version 2.3.8.
* yaSSL was upgraded to version 2.3.7d. This fixes a connection-failure issue when used with the thread pool plugin.
# Bugs Fixed
* InnoDB: A data corruption occurred on ARM64. GCC builtins did not issue the correct fences when setting or unsetting the lock word.
* InnoDB: In READ COMMITTED mode, a REPLACE operation on a unique secondary index resulted in a constraint violation. Thanks to Alexey Kopytov for the patch.
* InnoDB: The IBUF_BITMAP_FREE bit indicated that there was more free space in the leaf page than was actually available.
* InnoDB: Setting lower_case_table_names=0 on a case-insensitive file system could result in a hang condition when running an INSERT INTO ... SELECT ... FROM tbl_name operation with the wrong tbl_name letter case. An error message is now printed and the server exits when attempting to start the server with --lower_case_table_names=0 on a case-insensitive file system.
* Partitioning: CREATE TABLE statements that used an invalid function in a subpartitioning expression did not always fail gracefully as expected.
* Partitioning: ALTER TABLE when executed from a stored procedure did not always work correctly with tables partitioned by RANGE.
* Certain subqueries as arguments to PROCEDURE ANALYSE() could cause a server exit.
* mysql_ssl_rsa_setup could create an unwanted .rnd file in the data directory. (The file is actually created by openssl, which mysql_ssl_ras_setup invokes. mysql_ssl_rsa_setup now cleans up the file.)
* An assertion could be raised due to incorrect error handling if a SELECT ... FOR UPDATE subquery resulted in deadlock and caused a rollback.
* Servers linked against yaSSL and compiled with GCC 4.8.2 could fail to respond correctly to connection attempts until several seconds after startup.
* For tables with subpartitions, the server could exit due to incorrect error handling during partition pruning if the partition could be identified but not the subpartition.
* DELETE could check privileges for the wrong database when table aliases were used.
* Within a trigger, use of a cursor that accessed OLD or NEW values from a row could cause a server exit.
* MySQL sometimes produced no warning when it was unable to interpret a character in a given character set.
* For MySQL distributions linked against yaSSL, a corrupt client key file could cause clients to exit.
* Execution of certain BINLOG statements while temporary tables were open by HANDLER statements could cause a server exit.
* On Windows, setting query_cache_min_res_unit to too large a value could result in a value of 0 and a subsequent server exit.
* RPM installation scripts if configuration files contained multiple datadir lines. Now the last datadir line is used.
* For wait events, the Performance Schema uses the CYCLE timer by default, but failed to fall back to a different timer if CYCLE was unavailable.
* Updating VARCHAR and TEXT columns in the same UPDATE statement could produce incorrect results. When a VARCHAR column was assigned to a TEXT column and the VARCHAR column was then set to a different value, the TEXT column's result contained the VARCHAR column's new value.
* mysqladmin -u root -p could exit with a segmentation fault.
* mysqlimport --use-threads did not actually use multiple threads.
* View creation from a UNION failed with a duplicate-column error if a SELECT statement in the UNION other than the first used the same column name multiple times.
* Empty XML elements having the form <element/> were not handled correctly by the LOAD XML statement.


版本下載:MySQL 5.5.46

MySQL 5.5.45

更新時間:2015-07-27
更新細節:

# Bugs Fixed
- InnoDB: On Unix-like platforms, os_file_create_simple_no_error_handling_func and os_file_create_func opened files in different modes when innodb_flush_method was set to O_DIRECT.
- InnoDB: An assertion was raised when InnoDB attempted to dereference a NULL foreign key object.
- InnoDB: An index record was not found on rollback due to inconsistencies in the purge_node_t structure.
- The Spencer regex library used for the REGEXP operator could be subject to heap overflow in some circumstances.
- A buffer-overflow error could occur for mysqlslap during option parsing.
- GROUP BY or ORDER BY on a CHAR(0) NOT NULL column could lead to a server exit.
- mysql-systemd-start failed if datadir was set in /etc/my.cnf.


版本下載:MySQL 5.5.45

MySQL 5.6.26

更新時間:2015-07-27
更新細節:

# Bugs Fixed
- InnoDB: The ib_cursor_moveto function did not accept a search tuple with fewer fields than are defined for the index.
- InnoDB: The ib_table_truncate function failed to release a transaction, resulting in a hang on server shutdown.
- InnoDB: The ib_open_table_by_id function passed an incorrect argument to dict_table_open_on_id.
- InnoDB: On Unix-like platforms, os_file_create_simple_no_error_handling_func and os_file_create_func opened files in different modes when innodb_flush_method was set to O_DIRECT.
- InnoDB: Opening a foreign key-referenced table with foreign_key_checks enabled resulted in an error when the table or database name contained special characters.
- InnoDB: The page_zip_verify_checksum function returned false for a valid compressed page.
- InnoDB: An ALTER TABLE ... IMPORT TABLESPACE operation on a table with prefix index failed with a schema mismatch error.
- InnoDB: A failure to load a change buffer bitmap page during a concurrent delete tablespace operation caused a server exit.
- InnoDB: Importing a tablespace with a full-text index resulted in an assertion when attempting to rebuild the index.
- InnoDB: After dropping a full-text search index, the hidden FTS_DOC_ID and FTS_DOC_ID_INDEX columns prevented online DDL operations.
- InnoDB: The InnoDB memcached plugin handled unsigned NOT NULL integer columns incorrectly. Thanks to Piotr Jurkiewicz for the patch.
- InnoDB: A DROP DATABASE operation raised an assertion.
- InnoDB: An index record was not found on rollback due to inconsistencies in the purge_node_t structure.
- Partitioning: In certain cases, ALTER TABLE ... REBUILD PARTITION was not handled correctly when executed on a locked table.
- Replication: If flushing the cache to the binary log failed, for example due to a disk problem, the error was not detected by the binary log group commit logic. This could cause inconsistencies between the master and the slave. The fix uses the binlog_error_action variable to decide how to handle this situation. If binlog_error_action=ABORT_SERVER, then the server aborts after informing the client with an ER_BINLOGGING_IMPOSSIBLE error. If binlog_error_action=IGNORE_ERROR, then the error is ignored and binary logging is disabled until the server is restarted again. The same is mentioned in the error log file, and the transaction is committed inside the storage engine without being added to the binary log.
- Replication: When using GTIDs, a multi-threaded slave which had relay_log_recovery=1 and that stopped unexpectedly could encounter a relay-log-recovery cannot be executed when the slave was stopped with an error or killed in MTS mode error upon restart. The fix ensures that the relay log recovery process checks if GTIDs are in use or not. If GTIDs are in use, the multi-threaded slave recovery process uses the GTID protocol to fill any unprocessed transactions.
- Replication: When two slaves with the same server_uuid were configured to replicate from a single master, the I/O thread of the slaves kept reconnecting and generating new relay log files without new content. In such a situation, the master now generates an error which is sent to the slave. By receiving this error from the master, the slave I/O thread does not try to reconnect, avoiding this problem.
- Compilation failed when building MySQL without the Performance Schema.
- Incorrect cost calculation for the semi-join Duplicate Weedout strategy could result in a server exit.
- MySQL Enterprise Firewall recorded prepared statements as they were received by the server, not as normalized digests.
- Identifiers in normalized statements were sometimes quoted and sometimes not, an inconsistency that caused matching failure for statement digests and digest texts. This caused problems for MySQL Enterprise Firewall and for Performance Schema aggregation by digest. Identifiers now are quoted consistently.
- For MySQL Enterprise Firewall operation, max_digest_length had to be larger than mysql_firewall_max_query_size or normalized statements were truncated.
- Enabling MySQL Enterprise Firewall and binary logging could result in the server reading freed memory.
- For large values of max_digest_length, the Performance Schema could encounter an overflow error when computing memory requirements, resulting in a server exit.
- The Spencer regex library used for the REGEXP operator could be subject to heap overflow in some circumstances.
- A buffer-overflow error could occur for mysqlslap during option parsing.
- An off-by-one error in string-copying code could result in a buffer overflow.
- GROUP BY or ORDER BY on a CHAR(0) NOT NULL column could lead to a server exit.
- For some status variables that should monotonically increase, SHOW GLOBAL STATUS in one session could show them as decreasing when other concurrent sessions changed user or disconnected.
- mysql-systemd-start failed if datadir was set in /etc/my.cnf.
- A call to the MySQL Enterprise Firewall sp_set_firewall_mode() stored procedure with an invalid user name produced an error but added the user to the firewall_users table anyway.
- Ubuntu packages were missing dependencies for killall and psmisc.
- When choosing join order, the optimizer could incorrectly calculate the cost of a table scan and choose a table scan over a more efficient eq_ref join.


版本下載:MySQL 5.6.26
  • MySQL Server 5.7.18, 5.6.36, and 5.5.55, new versions of the popular Open Source Database Management System, have been released. These releases are recommended for use on production systems. For an ov...
    MySQL
    Announcing MySQL Server 5.7.18, 5.6.36, and 5.5.55 | MySQL Release Engineering
    http://mysqlrelease.com
  • MySQL 5.6.36 MySQL 5.6.36 By MySQL AB (Open Source) User Rating FileHippo Safety Guarantee Secured by Avira Download Latest Version (32.09MB) Download What Is the FileHippo Safety Guarantee? We know h...
    MySQL
    Download MySQL 5.6.36 - FileHippo.com
    http://filehippo.com
  • MySQL-5.6.36-1.el6.i686.rpm-bundle.tar 18-Mar-2017 22:16 219043840 ... 18-Mar-2017 22:18 84 MySQL-5.6.36-1.linux_glibc2.5.src.rpm 18-Mar-2017 21:18&nbsp;...
    MySQL
    Index of /MySQL/Downloads/MySQL-5.6/
    http://ftp.ntu.edu.tw
  • What’s New in MySQL 5.7 Executive Guide: Enabling Digital Transformation with Oracle MySQL Cloud Service Guide to MySQL High Availability Solutions Guide to Scaling Web Databases with MySQL Cluster Mo...
    MySQL
    MySQL - Official Site
    https://www.mysql.com
  • 一、相關資訊 &amp;bull; 作業環境:Windows Server 2008 Enterprise 32bits &amp;bull; 名稱及版本:mysql-5.5.9-win32 &amp; ... #1 freshman 於 2011/09/24 23:44 請問我在安裝配置時 start service 不行,我不知道問題出在哪裡... #2 Jump 於 2011/09/25 1...
    MySQL
    MySQL 5.5.9 安裝及設定 @ 漫步@雲端 :: 痞客邦 PIXNET ::
    http://chiangchingchi.pixnet.n
  • MySQL 5.6 Release Notes 3 This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliat...
    MySQL
    MySQL 5.6 Release Notes
    https://downloads.mysql.com
  • MySQL各产品线更新。5.6.16/5.5.36 2014-01-31之前版本是2013-09-20的5.6.15/5.5.35,主要是Bug修正,cmake支持了-DTMPDIR,增强了ALTER_TABLE.5.1系列还是5.1.73. 完全改进: Changes in MySQL 5.6.16 (2014-01-31) A known limitation of this release:
    MySQL
    MySQL 5.6.16/5.5.36 发布 - 开源中国社区
    http://www.oschina.net
  • MySQL 5.6.35 By MySQL AB (Open Source) User Rating FileHippo Safety Guarantee Secured by Avira Download Latest Version (35.13MB) Download What Is the FileHippo Safety Guarantee? We know how important ...
    MySQL
    MySQL 5.6.35 - FileHippo.com - Download Free Software
    http://filehippo.com
  • 2017年4月11日 - MySQL 5.7.19 (64-bit). Requirements: Windows XP64 / Vista64 / Windows 7 64 / Windows 8 64 / Windows 10 64. User Rating: Click to vote.
    MySQL
    MySQL 5.6.36 (64-bit) Download for Windows / FileHorse.com
    http://www.filehorse.com
  • MySQL Community Server 5.6 » MySQL Community Server 5.5 » Archived versions » Please report any bugs or inconsistencies you observe to our ...
    MySQL
    MySQL :: Download MySQL Community Server
    https://dev.mysql.com
  • To download the latest release of MySQL Community Server, please visit MySQL Downloads. Product Version: Operating System ... (mysql-5.7.16-win32-debug-test.zip) MD5: 8cdac3e34b23ab0672ea3e346278af9b ...
    MySQL
    MySQL :: Download MySQL Community Server (Archived Versions)
    https://downloads.mysql.com
  • ... in MySQL 5.6.37 (2017-07-17, General Availability) &middot; Changes in MySQL 5.6.36 (2017-04-10, General Availability) &middot; Changes in MySQL 5.6.35 (2016-12-12,&nbsp;...
    MySQL
    MySQL :: MySQL 5.6 Release Notes - MySQL :: Developer Zone
    https://dev.mysql.com
  • Changes in MySQL 5.6.36 (2017-04-10, General Availability) &middot; Changes in MySQL 5.6.35 (2016-12-12, General Availability) &middot; Changes in MySQL 5.6.34&nbsp;...
    MySQL
    MySQL :: MySQL 5.6 Release Notes :: Changes in MySQL 5.6.24 ...
    https://dev.mysql.com
  • 2015年12月7日 - Changes in MySQL 5.6.36 (2017-04-10, General Availability) &middot; Changes in MySQL 5.6.35 (2016-12-12, General Availability) &middot; Changes in&nbsp;...
    MySQL
    MySQL :: MySQL 5.6 Release Notes :: Changes in MySQL 5.6.28 ...
    https://dev.mysql.com
  • Changes in MySQL 5.6.36 (2017-04-10, General Availability) &middot; Changes in MySQL 5.6.35 (2016-12-12, General Availability) &middot; Changes in MySQL 5.6.34&nbsp;...
    MySQL
    MySQL :: MySQL 5.6 Release Notes :: Changes in MySQL 5.6.34 ...
    https://dev.mysql.com
  • Changes in MySQL 5.6.36 (2017-04-10, General Availability) &middot; Changes in MySQL 5.6.35 (2016-12-12, General Availability) &middot; Changes in MySQL 5.6.34&nbsp;...
    MySQL
    MySQL :: MySQL 5.6 Release Notes :: Changes in MySQL 5.6.35 ...
    https://dev.mysql.com
  • Microsoft Windows: Reminder: MySQL 5.6 requires the Microsoft Visual C++ 2010 Redistributable Package to run on Windows platforms. Users should make&nbsp;...
    MySQL
    MySQL :: MySQL 5.6 Release Notes :: Changes in MySQL 5.6.36 ...
    https://dev.mysql.com
  • Dear MySQL users, MySQL Server 5.6.36, a new version of the popular Open Source Database Management System, has been released.
    MySQL
    MySQL :: MySQL Community Server 5.6.36 has been released - MySQL ...
    https://forums.mysql.com
  • Dear MySQL users, MySQL Server 5.6.36, a new version of the popular Open Source Database Management System, has been released. MySQL 5.6.36 is recommended for use on production systems. For an overvie...
    MySQL
    MySQL Lists: packagers: MySQL Community Server 5.6.36 has been released
    https://lists.mysql.org