MySQL
Community Edition is a freely downloadable version of the world’s most popular
open source database, which 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.
The following list is a few of
the many updates and changes have been undertaken in this latest version of
MySQL:
* Bugs
Fixed
- InnoDB; Partitioning: Large numbers of partitioned
InnoDB tables could consume much more memory when used in MySQL 5.6 or 5.7 than
the memory used by the same tables used in previous releases of the MySQL
Server.
- InnoDB: An
ALTER TABLE … ADD FOREIGN KEY operation could cause a serious
error.
- InnoDB: In
debug builds, an INSERT operation affecting compressed tables would raise a
sync-related assertion.
- InnoDB:
Retrieval of multiple values with a single get command would return incorrect
results instead of an error message. The InnoDB memcached plugin does not
currently support retrieval of multiple values with a single get
command.
- InnoDB:
Attempting to perform operations on a timed out key would cause the memcached
daemon to crash and restart.
- InnoDB: With
a transaction isolation level less than or equal to READ COMMITTED, gap locks
were not taken when scanning a unique secondary index to check for duplicates.
As a result, duplicate check logic failed allowing duplicate key values in the
unique secondary index.
- InnoDB: In
rare cases, the purge process would attempt to delete a secondary index record
that was not marked for deletion, resulting in an inconsistent secondary
index.
- Replication:
After the fix for Bug #16861624, killing a multi-threaded slave worker which was
waiting for a commit lock caused a debug assertion to fail. This fix ensures
that such a situation can not occur.
- Replication:
When committing a transaction, a flag is now used to check whether a thread has
been created, rather than checking the thread itself, which uses more resources,
particularly when running the server with
master_info_repository=TABLE.
- Replication:
A multi-threaded slave now checks that a free worker is available to dispatch
the next event. In previous versions, a multi-threaded slave crashes with a
worker error if the thread coordinator can not find a free worker. The crash was
caused when the coordinator did not return a free worker, for example if the
coordinator was aborted at the same time using STOP SLAVE.
- Replication:
When mysqlbinlog processed multiple binary log files into a single output file,
this file was not in a useful state for point-in-time recovery, when it failed
with the error, When @@SESSION.GTID_NEXT is set to a GTID, you must explicitly
set it to a different value after a COMMIT or ROLLBACK. Please check GTID_NEXT
variable manual page for detailed explanation. Current @@SESSION.GTID_NEXT is
‘xyz’. When mysqlbinlog processes a binary log containing GTIDs, it outputs SET
gtid_next statements, but gtid_next is set to undefined whenever a commit
occurs; this left gtid_next undefined when the server had finished processing
the output from mysqlbinlog. When the next binary log file started with one or
more anonymous statements or transactions, the combination of gtid_next being
left undefined at the end of the first binary log and the second binary log
containing anonymous transactions to the error described previously (Error 1837,
ER_GTID_NEXT_TYPE_UNDEFINED_GROUP).
- Replication:
When using row-based replication, running a long transaction involving a large
number of events could trigger an Out of Memory (OOM) error if the slave’s table
structure was not compatible with the master’s table structure. Such an
incompatible situation could occur if the table on the slave had been manually
changed, or when replicating between different MySQL versions that have
different data types. This OOM error was caused because the virtual temporary
tables created for the row conversion were not being freed until the end of the
transaction, which was a problem when replicating large numbers of
events.
- With DTrace
support enabled, certain other compilation options could cause the build to
fail.
- yaSSL client
code did not validate the encryption size or session ID length, which could
cause the client to exit.
- yaSSL could
fail preauthorization if the client supplied inaccurate buffer
lengths.
- Competition
between threads could lead to timeout failure trying to rotate the audit log
file.
- LPAD() and
RPAD() could cause a server exit if the pad string argument was not well
formed.
- The optimizer
could create a zero-length column for a temporary table, causing a server
exit.
- MOD for very
small decimal right-hand arguments could cause a server exit.
- The client
library now includes a call to X509_verify_cert_error_string() in the SSL
certificate verification code, to be more robust in detecting invalid
certificates.
- If the
left-hand-side of an IN predicate was a scalar subquery but returned no row, the
server could exit.
- The
thread_concurrency system variable is deprecated, but no warning resulted from
setting it at server startup.
- Sending a
SIGQUIT or SIGINT signal to mysql could result in a glibc double free or
corruption error.
- Invalid
memory access could occur when using prepared statements if a mysql client
connection was lost after statement preparation was complete and there was at
least one statement that was in initialized state but not prepared
yet.
- LIKE matches
failed for code points of HALF WIDTH KATAKANA in the sjis and cp932 character
sets.
- On EL7,
installation of MySQL from RPM packages could fail if postfix had previously
been installed using yum.
- mysql_upgrade
could fail if the mysql.user table contained multiple accounts with the same
user name and host name where the host name differed in lettercase. This is
still not permitted, but now mysql_upgrade prints a more informative error
message to indicate the nature of the problem:
> ERROR 1644
(45000): Multiple accounts exist for user_name, host_name
> that
differ only in Host lettercase; remove all except one of them
- If the
general query log or slow query log file was set to a FIFO or socket file, and
the file reader went away, the server stopped executing statements. Now the
server detects such files, logs an error message, and continues with the
appropriate log disabled.
- A
simultaneous OPTIMIZE TABLE and online ALTER TABLE on the same InnoDB table
could result in deadlock.
- The query
cache was not invalidated for a table when a CASCADE DELETE or CASCADE UPDATE
referential constraint was specified and the database name or table name
contained special characters.
So what are you waiting for?
You can download MySQL from the link below
No comments :
Post a Comment