MySQL Community Edition is a freely downloadable version of the world's most popular open source database that is supported by an active community of open source developers and enthusiasts.
MySQL delivers enterprise features, including:
- Partitioning to improve performance and management of very large database environments
- Row-based/Hybrid Replication for improved replication security
- Event Scheduler to create and schedule jobs that perform various database tasks
- XPath Support
- Dynamic General/Slow Query Log
- Performance/Load Testing Utility (mysqlslap)
- Improved! Full Text Search (faster, new dev templates)
- Improved! Archive engine (better compression, more features)
- Improved! User session and problem SQL identification
- Improved! MySQL embedded library (libmysqld)
- Additional INFORMATION_SCHEMA objects
- Faster data import operations (parallel file load)
- ACID Transactions to build reliable and secure business critical applications
- Stored Procedures to improve developer productivity
- Triggers to enforce complex business rules at the database level
- Views to ensure sensitive information is not compromised
- Information Schema to provide easy access to metadata
- Pluggable Storage Engine Architecture for maximum flexibility
- Archive Storage Engine for historical and audit data
# Bugs Fixed
* Performance: InnoDB: Improved the algorithm related to adaptive flushing. This fix increases the rate of flushing in cases where compression is used and the data set is larger than the buffer pool, leading to eviction.
* InnoDB: In a transaction using the REPEATABLE READ isolation level, an UPDATE or DELETE statement for an InnoDB table could sometimes overlook rows recently committed by other transactions. As explained in Section 184.108.40.206, “Consistent Nonlocking Reads”, DML statements within a REPEATABLE READ transaction apply to rows committed by other transactions, even if a query could not see those rows.
* InnoDB: The Innodb_buffer_pool_pages_flushed status variable was incorrectly set to twice the value it should be. Its value should never exceed the value of Innodb_pages_written.
* InnoDB: The error handling and message was improved for attempting to create a foreign key with a column referencing itself. The message suggested a potential problem with the data dictionary, when no such problem existed.
* InnoDB: The CHECK TABLE statement could fail for a large InnoDB table due to a timeout value of 2 hours. For typical storage devices, the issue could occur for tables that exceeded approximately 200 or 350 GB, depending on I/O speed. The fix relaxes the locking performed on the table being checked, which makes the timeout less likely. It also makes InnoDB recognize the syntax CHECK TABLE QUICK, which avoids the possibility of the timeout entirely.
* Replication: It was theoretically possible for concurrent execution of more than one instance of SHOW BINLOG EVENTS to crash the MySQL Server.
* Replication: Statements using AUTO_INCREMENT, LAST_INSERT_ID(), RAND(), or user variables could be applied in the wrong context on the slave when using statement-based replication and replication filtering server options (see Section 16.2.3, “How Servers Evaluate Replication Filtering Rules”).
* Replication: An INSERT into a table that has a composite primary key that includes an AUTO_INCREMENT column that is not the first column of this composite key is not safe for statement-based binary logging or replication. Such statements are now marked as unsafe and fail with an error when using the STATEMENT binary logging format. For more information, see Section 220.127.116.11, “Determination of Safe and Unsafe Statements in Binary Logging”, as well as Section 18.104.22.168, “Replication and AUTO_INCREMENT”.
- Note : Tables using the InnoDB storage engine are not affected by this issue, since InnoDB does not allow the creation of a composite key that includes an AUTO_INCREMENT column, where this column is not the first column in the key.
* SHOW TABLES was very slow unless the required information was already in the disk cache.