MySQL is a very popular and open source SQL database provided by MySQL AB. MySQL AB is a commercial company that builds its business providing services around the MySQL database.MySQL is the world\'s most popular open source database software, with over 100 million copies of its software downloaded or distributed throughout its history. With superior speed, reliability, and ease of use, MySQL has become the preferred choice of corporate IT Managers because it eliminates the major problems associated with downtime, maintenance, administration and support.MySQL is a key part of LAMP (Linux, Apache, MySQL, PHP / Perl / Python), the fast growing open source enterprise software stack. More and more companies are using LAMP as an alternative to expensive proprietary software stacks because of its lower cost and freedom from lock-in.What\'s New in This Release: [ read full changelog ]Functionality added or changed:· Important Change: Replication: Previously, incident log events were represented as comments in the output from mysqlbinlog, making them effectively silent when playing back the binlog. (An incident log event represents an incident that could cause the contents of the database to change without that event being recorded in the binary log.) To use this functionality currently requires hand editing of the dump file and handling of each case on an individual basis by a database administrator before applying the output to a server. (Bug#44442)· mysql_upgrade now displays a message indicating the connection parameters it uses when invoking mysqlcheck. (Bug#44638)· The time zone tables for Windows available at http://dev.mysql.com/downloads/timezones.html have been updated. (Bug#39923)· The mysqltest program now has a move_file from_file to_file command for renaming files. This should be used in test cases rather than invoking an external command that might be platform specific. (Bug#39542)Bugs fixed:· Performance: The InnoDB adaptive hash latch is released (if held) for serveral potentially long-running operations. This improves throughput for other queries if the current query is removing a temporary table, changing a temporary table from memory to disk, using CREATE TABLE ... SELECT, or performing a MyISAM repair on a table used within a transaction. (Bug#32149)· Security Fix: Four potential format string vulnerabilities were fixed (discovered by the Veracode code analysis). (Bug#44166)· Incompatible Change: The server can load plugins under the control of startup options. For example, many storage engines can be built in pluggable form and loaded when the server starts. In the following descriptions, plugin_name stands for a plugin name such as innodb.· Important Change: Replication: BEGIN, COMMIT, and ROLLBACK statements are no longer affected by --replicate-do-db or --replicate-ignore-db rules. (Bug#43263)· Partitioning: Queries using DISTINCT on multiple columns or GROUP BY on multiple columns did not return correct results with partitioned tables. (Bug#44821)· Replication: When using row-based logging, the length of an event for which the field metadata exceeded 255 bytes in size was incorrectly calculated. This could lead to corruption of the binary log, or cause the server to hang. (Bug#42749)· Replication: The warning Statement is not safe to log in statement format, issued in situations when it cannot be determined that a statement or other database event can be written reliably to the binary log using the statement-based format, has been changed to Statement may not be safe to log in statement format. (Bug#42415)· Replication: The Query_log_event used by replication to transfer a query to the slave has been refactored. Query_log_event also stores and sends the error code resulting from the execution since it, in some cases, is necessary to execute the statement on the slave as well, which should result in the same error code. The Query_log_event constructor previously worked out for itself the error code using a complex routine, the result of which was often set aside within the constructor itself. This was also involved with at least 2 known bugs relating to invalid errors, and taken as a clear sign that the constructor was not well-designed and needed to be re-written. (Bug#41948)· Replication: When stopping and restarting the slave while it was replicating temporary tables, the slave server could crash or raise an assertion failure. This was due to the fact that, although temporary tables were saved between slave thread restarts, the reference to the thread being used (table->in_use) was not being properly updated when restarting, continuing to reference the old thread instead of the new one. This issue affected statement-based replication only. (Bug#41725)· The combination of MIN() or MAX() in the select list with WHERE and GROUP BY clauses could lead to incorrect results. (Bug#45386)· Running a SELECT query over an IBMDB2I table using the cp1250 character set would produce an error· Use of ROUND() on a LONGTEXT or LONGBLOB column of a derived table could cause a server crash. (Bug#45152)· DROP USER could fail to drop all privileges for an account if the PAD_CHAR_TO_FULL_LENGTH SQL mode was enabled. (Bug#45100)· GROUP BY on a constant (single-row) InnoDB table joined to other tables caused a server crash. (Bug#44886)· ALTER TABLE on a view crashed the server. (Bug#44860)· When using partitioning with the IBMDB2I storage engine, the engine could report that a valid character set was not supported. (Bug#44856)· Running queries on tables with the IBMDB2I storage engine using the utf8 character would fail when using the 64-bit version of MySQL. (Bug#44811)· Index Merge followed by a filesort could result in a server crash if sort_buffer_size was not large enough for all sort keys. (Bug#44810)· UNCOMPRESSED_LENGTH() returned a garbage result when passed a string shorter than 5 bytes. Now UNCOMPRESSED_LENGTH() returns NULL and generates a warning. (Bug#44796)· Several Valgrind warnings were silenced. (Bug#44774, Bug#44792)· Selecting RAND(N) function where N is a column of a constant table (table with a single row) failed with a SIGFPE signal. (Bug#44768)· The PASSWORD() and OLD_PASSWORD() functions could read memory outside of an internal buffer when used with BLOB arguments. (Bug#44767)· Conversion of a string to a different character set could use the same buffer for input and output, leading to incorrect results or warnings. (Bug#44743, Bug#44766)· mysqld_safe could fail to find the logger program. (Bug#44736)· Code that optimized a read-only XA transaction failed to reset the XID once the transaction was no longer active. (Bug#44672)· A Valgrind warning related to transaction processing was silenced. (Bug#44664)· When creating tables using the IBMDB2I storage engine, the RCDFMT (record format) that would be applied to the corresponding files within the IBM i would be set according to the table name. During whole table operations, the name could get modified to a value inconsistent with the table name. In addition, the record format would be inconsistent compared to the file content. The IBMDB2I storage engine now adds an explicit RCDFMT clause to the CREATE TABLE statement passed down to the DB2 storage engine layer. (Bug#44610)· innochecksum could incorrectly determine the input file name from the arguments. (Bug#44484)· Incorrect time was reported at the end of mysqldump output. (Bug#44424)· Caching of GROUP BY expressions could lead to mismatches between compile-time and runtime calculations and cause a server crash. (Bug#44399)· Lettercase conversion in multibyte cp932 or sjis character sequences could produce incorrect results. (Bug#44352)· InnoDB was missing DB_ROLL_PTR information in Table Monitor COLUMNS output. (Bug#44320)· Assertion failure could occur for duplicate-key errors in INSERT INTO ... SELECT statements. (Bug#44306)· Trying to use an unsupported character set on an IBMDB2I table would produce DB2 error 2501 or 2511. The error has been updated to produce Error 2504 (Character set is unsupported). (Bug#44232)· On 64-bit Windows systems, myisamchk did not handle key_buffer_size values larger than 4GB. (Bug#43940)· For user-defined utf8 collations, attempts to store values too long for a column could cause a server crash. (Bug#43827)· Invalidation of query cache entries due to table modifications could cause threads to hang inside the query cache with state ???freeing items???. (Bug#43758)· EXPLAIN EXTENDED could crash for UNION queries in which the last SELECT was not parenthesized and included an ORDER BY clause. (Bug#43612)· Multiple-table updates for InnoDB tables could produce unexpected results. (Bug#43580)· For DELETE statements with ORDER BY var, where var was a global system variable with a NULL value, the server could crash. (Bug#42778)· Builds linked against OpenSSL had a memory leak in association with use of X509 certificates. (Bug#42158)· There was a race condition when changing innodb_commit_concurrency at runtime from zero to nonzero or from nonzero to zero. Now this variable cannot be changed at runtime from zero to nonzero or vice versa. The value can still be changed from one nonzero value to another. (Bug#42101)· SELECT ... INTO @var could produce values different from SELECT ... without the INTO clause. (Bug#42009)· mysql_zap did not work on Mac OS X. (Bug#41883)· A crash occurred due to a race condition between the merge table and table_cache evictions.· Shared-memory connections did not work in Vista if mysqld was started from the command line. (Bug#41190)· For views created with a column list clause, column aliases were not substituted when selecting through the view using a HAVING clause. (Bug#40825)· A multiple-table DELETE involving a table self-join could cause a server crash. (Bug#39918)· Creating an InnoDB table with a comment containing a \'#\' character caused foreign key constraints to be omitted. (Bug#39793)· ALTER TABLE neglected to preserve ROW_FORMAT information from the original table, which could cause subsequent ALTER TABLE and OPTIMIZE TABLE statements to lose the row format for InnoDB tables. (Bug#39200)· The mysql option --ignore-spaces was nonfunctional. (Bug#39101)· If a query was such as to produce the error 1054 Unknown column \'...\' in \'field list\', using EXPLAIN EXTENDED with the query could cause a server crash. (Bug#37362)· In the mysql client, using a default character set of binary caused internal commands such as DELIMITER to become case sensitive. (Bug#37268)· mysqldump --tab dumped triggers to stdout rather than to the .sql file for the corresponding table. (Bug#34861)· If the MYSQL_HISTFILE environment variable was set to /dev/null, the mysql client overwrote the /dev/null device file as a normal file. (Bug#34224)· mysqld_safe mishandled certain parameters if they contained spaces. (Bug#33685)· mysqladmin kill did not work for thread IDs larger than 32 bits. (Bug#32457)· Several client programs failed to interpret --skip-password as ???send no password.??? (Bug#28479)· Output from mysql --html did not encode the , or & characters. (Bug#27884)· mysql_convert_table_format did not prevent converting tables to MEMORY or BLACKHOLE tables, which could result in data loss. (Bug#27149)