Dear MySQL users, MySQL Server 5.7.16, a new version of the popular Open Source Database Management System, has been released. MySQL 5.7.16 is recommended for use on production systems. For an overview of what's new in MySQL 5.7, please see http://dev.mysql.com/doc/refman/5.7/en/mysql-nutshell.html For information on installing MySQL 5.7.16 on new servers, please see the MySQL installation documentation at http://dev.mysql.com/doc/refman/5.7/en/installing.html MySQL Server 5.7.16 is available in source and binary form for a number of platforms from our download pages at http://dev.mysql.com/downloads/mysql/ MySQL Server 5.7.16 is also available from our repository for Linux platforms, go here for details: http://dev.mysql.com/downloads/repo/ Windows packages are available via the Installer for Windows or .ZIP (no-install) packages for more advanced needs. The point and click configuration wizards and all MySQL products are available in the unified Installer for Windows: http://dev.mysql.com/downloads/installer/ 5.7.16 also comes with a web installer as an alternative to the full installer. The web installer doesn't come bundled with any actual products and instead relies on download-on-demand to fetch only the products you choose to install. This makes the initial download much smaller but increases install time as the individual products will need to be downloaded. We welcome and appreciate your feedback, bug reports, bug fixes, patches, etc.: http://bugs.mysql.com/report.php The following section lists the changes in MySQL 5.7 since the release of MySQL 5.7.15. It may also be viewed online at http://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-16.html Enjoy! Changes in MySQL 5.7.16 (2016-10-12) Security Notes * Incompatible Change: For STANDALONE and WIN builds, the default secure_file_priv value has changed from the empty string to NULL. This is a secure-by-default setting because it disables import and export operations. To permit those operations, set secure_file_priv to the path name of the directory to use for those operations. (Bug #24679907, Bug #24695274, Bug #24707666) * The linked OpenSSL library for the MySQL Commercial Server has been updated to version 1.0.1u. For a description of issues fixed in this version, see http://www.openssl.org/news/vulnerabilities.html. This change does not affect the Oracle-produced MySQL Community build of MySQL Server, which uses the yaSSL library instead. (Bug #24753389) Functionality Added or Changed * yaSSL was upgraded to version 2.4.2. This upgrade corrects issues with: Potential AES side channel leaks; DSA padding for unusual sizes; the SSL_CTX_load_verify_locations() OpenSSL compatibility function failing to handle long path directory names. (Bug #24512715, Bug #24740291) On Behalf of the MySQL/ORACLE RE Team Hery Ramilison
↧
MySQL Community Server 5.7.16 has been released (no replies)
↧
MySQL Enterprise Monitor 3.1.5 has been released (no replies)
We are pleased to announce that MySQL Enterprise Monitor 3.1.5 is now
available for download on the My Oracle Support (MOS) web site.
This is a maintenance release that includes a few enhancements and
fixes a number of bugs. You can find more information on the contents
of this release in the change log:
http://dev.mysql.com/doc/relnotes/mysql-monitor/3.1/en/news-3-1-5.html
(also included at the end of this note for convenience)
You will find binaries for the new release on My Oracle Support:
https://support.oracle.com
Choose the "Patches & Updates" tab, and then choose the "Product or
Family (Advanced Search)" side tab in the "Patch Search" portlet.
IMPORTANT: MySQL Enterprise Monitor (MEM) 3.3 offers many significant
improvements over MEM 3.1 and MEM 3.2 and we highly recommend that you
consider upgrading. More information on MEM 3.3 is available here:
What's New in MySQL Enterprise Monitor 3.2
http://dev.mysql.com/doc/mysql-monitor/3.3/en/mem-comparison-3-2.html
MySQL Enterprise Monitor
http://www.mysql.com/products/enterprise/monitor.html
MySQL Enterprise Monitor Frequently Asked Questions
http://dev.mysql.com/doc/mysql-monitor/3.3/en/mem-faq.html
MySQL Enterprise Monitor Change History
http://dev.mysql.com/doc/relnotes/mysql-monitor/3.3/en/
Please open a bug or a ticket on My Oracle Support to report problems,
request features, or give us general feedback about how this release
meets your needs.
If you are not a MySQL Enterprise customer and want to try the Monitor
and Query Analyzer using our 30-day free customer trial, go to
http://www.mysql.com/trials, or contact Sales at
http://www.mysql.com/about/contact.
Useful URLs
* My Oracle Support - http://support.oracle.com/
* What's New in 3.1 - https://dev.mysql.com/doc/mysql-monitor/3.1/en/mem-comparison-3-1.html
* Change log - http://dev.mysql.com/doc/relnotes/mysql-monitor/3.1/en/
* Installation documentation - http://dev.mysql.com/doc/mysql-monitor/3.1/en/mem-installing.html
* Complete documentation - http://dev.mysql.com/doc/mysql-monitor/3.1/en/
* Product information - http://www.mysql.com/products/enterprise/monitor.html
* FAQs - http://dev.mysql.com/doc/mysql-monitor/3.1/en/mem-faq.html
* Download - http://support.oracle.com/
Thanks and Happy Monitoring!
- The MySQL Enterprise Tools Development Team
==========
Changes in MySQL Enterprise Monitor 3.1.5
Functionality Added or Changed
* Important Change: The bundled sys schema is upgraded to version
1.5.1.
Important: If you have installed an older version of sys schema on
your monitored instances, it is recommended to upgrade to the latest
version. The upgrade must be performed from the command line. It is
not currently possible to upgrade sys schema from MySQL Enterprise
Service Manager.
* Important Change: As of this release, it is not possible to use
MySQL Server 5.1 or 5.5 as the MySQL Enterprise Monitor repository.
The installer displays an error and the installation process stops.
* The query collection for Query Analyzer was improved in this
release. (Bug #22179215)
* The required privileges for configuring a non-bundled repository
were updated in this release. (Bug #21534737)
* The Tomcat server, bundled with the MySQL Enterprise Service
Manager, has been upgraded to 7.0.69.
* The Warnings Not Being Logged advisor text was updated.
* Events for any future-dated asset which is not an agent, OS, or
MySQL instance, are deleted. Under certain circumstances, these
events contained empty fields.
* The following commands are added to the MySQL Enterprise Service
Manager configuration utility (config.sh/config.bat):
o --renew: renews the existing self-signed certificate.
o --import-certificate=<value>: imports the defined certificate
o --import-key=<value>: imports the defined private key.
* The OpenSSL libraries used by the MySQL Enterprise Monitor
installers and MySQL Enterprise Monitor Aggregator have been
upgraded to 1.0.1u.
* The bundled JRE was updated to 1.8.0_102 for both the Agent and
Service Manager.
* The MySQL database, bundled with the MySQL Enterprise Service
Manager, has been upgraded to MySQL 5.6.34.
Bugs Fixed
* The documentation did not specify the correct format for the ssl-ca-
keystore-path parameter. It was listed as a file path, but is a URL.
For example:
ssl-ca-keystore-path=file:///mysql/enterprise/agent/etc/mykeystore
(Bug #24386496)
* The InnoDB Redo Log Pending Writes graph was not displayed for MySQL
5.7 instances. (Bug #23563358)
* The Event Handler Asset column did not display any assets for the
eleventh handler created. That is, the Asset column correctly
displayed assets for the first 10 event handlers, but did not for
any other event handler. (Bug #23543149)
* The LDAP and SSL documentation did not contain information on how to
connect to LDAP servers which implement AES256. (Bug #23507489)
* The following variables were missing from the Fulltext Search
section of the MySQL Instance InnoDB tab:
o innodb_ft_enable_diag_print
o innodb_ft_result_cache_limit
o innodb_ft_total_cache_size
(Bug #23474063)
* LDAP configuration settings were not validated by the upgrade
process. Some of the fields were empty.
As of this release, default values are added to the empty fields.
(Bug #23299301)
* LDAP configuration was not validated when saved. As a result, if the
LDAP connection information was incorrectly configured,
NullPointerExceptions were logged, and it was not possible to
connect to the LDAP server. (Bug #23299288)
* Under certain circumstances, when monitoring MySQL 5.7, warnings
were generated in Query Analyzer due to a conflict between the
default mysql_mode and the mysql_mode set by MySQL Enterprise
Monitor. (Bug #23033046)
* It was possible to check/uncheck the assets in the Select Instances
field on the Edit Replication Group tab, although the selection or
deselection had no effect on the contents of the replication group.
Replication groups are populated dynamically, not manually. (Bug
#22620609)
* The certificate to keystore upgrade process attempted to use the
system's openSSL installation instead of that delivered with the
installer. As a result, if openSSL was not installed on the system,
the upgrade failed. As of this release, the upgrade only uses the
openSSL libraries delivered with the installer. (Bug #22522309)
* Under certain circumstances, deleting events resulted in a long-
running query which generated empty events. (Bug #22247688)
* The MySQL Enterprise Service Manager utility config.sh returned a
stack trace for unsupported commands, instead of redirecting the
user to the help.
* Custom agent service names were not maintained by the agent upgrade
process. The custom name was overwritten by the default agent
service name, MySQLEnterpriseMonitorAgent.
* The advice page generated by the MySQL Enterprise Backup Health
advisor contained broken links to the InnoDB chapters of the MySQL
Reference Manual. It also incorrectly referred to the --start-lsn
option as the --lsn option.
* On certain browser versions, the symbol << was transformed to Â<<.
* A message about keystore loading was logged every minute by the
certificate loader. The log level for this message was changed to
reduce the unnecessary log entries.
available for download on the My Oracle Support (MOS) web site.
This is a maintenance release that includes a few enhancements and
fixes a number of bugs. You can find more information on the contents
of this release in the change log:
http://dev.mysql.com/doc/relnotes/mysql-monitor/3.1/en/news-3-1-5.html
(also included at the end of this note for convenience)
You will find binaries for the new release on My Oracle Support:
https://support.oracle.com
Choose the "Patches & Updates" tab, and then choose the "Product or
Family (Advanced Search)" side tab in the "Patch Search" portlet.
IMPORTANT: MySQL Enterprise Monitor (MEM) 3.3 offers many significant
improvements over MEM 3.1 and MEM 3.2 and we highly recommend that you
consider upgrading. More information on MEM 3.3 is available here:
What's New in MySQL Enterprise Monitor 3.2
http://dev.mysql.com/doc/mysql-monitor/3.3/en/mem-comparison-3-2.html
MySQL Enterprise Monitor
http://www.mysql.com/products/enterprise/monitor.html
MySQL Enterprise Monitor Frequently Asked Questions
http://dev.mysql.com/doc/mysql-monitor/3.3/en/mem-faq.html
MySQL Enterprise Monitor Change History
http://dev.mysql.com/doc/relnotes/mysql-monitor/3.3/en/
Please open a bug or a ticket on My Oracle Support to report problems,
request features, or give us general feedback about how this release
meets your needs.
If you are not a MySQL Enterprise customer and want to try the Monitor
and Query Analyzer using our 30-day free customer trial, go to
http://www.mysql.com/trials, or contact Sales at
http://www.mysql.com/about/contact.
Useful URLs
* My Oracle Support - http://support.oracle.com/
* What's New in 3.1 - https://dev.mysql.com/doc/mysql-monitor/3.1/en/mem-comparison-3-1.html
* Change log - http://dev.mysql.com/doc/relnotes/mysql-monitor/3.1/en/
* Installation documentation - http://dev.mysql.com/doc/mysql-monitor/3.1/en/mem-installing.html
* Complete documentation - http://dev.mysql.com/doc/mysql-monitor/3.1/en/
* Product information - http://www.mysql.com/products/enterprise/monitor.html
* FAQs - http://dev.mysql.com/doc/mysql-monitor/3.1/en/mem-faq.html
* Download - http://support.oracle.com/
Thanks and Happy Monitoring!
- The MySQL Enterprise Tools Development Team
==========
Changes in MySQL Enterprise Monitor 3.1.5
Functionality Added or Changed
* Important Change: The bundled sys schema is upgraded to version
1.5.1.
Important: If you have installed an older version of sys schema on
your monitored instances, it is recommended to upgrade to the latest
version. The upgrade must be performed from the command line. It is
not currently possible to upgrade sys schema from MySQL Enterprise
Service Manager.
* Important Change: As of this release, it is not possible to use
MySQL Server 5.1 or 5.5 as the MySQL Enterprise Monitor repository.
The installer displays an error and the installation process stops.
* The query collection for Query Analyzer was improved in this
release. (Bug #22179215)
* The required privileges for configuring a non-bundled repository
were updated in this release. (Bug #21534737)
* The Tomcat server, bundled with the MySQL Enterprise Service
Manager, has been upgraded to 7.0.69.
* The Warnings Not Being Logged advisor text was updated.
* Events for any future-dated asset which is not an agent, OS, or
MySQL instance, are deleted. Under certain circumstances, these
events contained empty fields.
* The following commands are added to the MySQL Enterprise Service
Manager configuration utility (config.sh/config.bat):
o --renew: renews the existing self-signed certificate.
o --import-certificate=<value>: imports the defined certificate
o --import-key=<value>: imports the defined private key.
* The OpenSSL libraries used by the MySQL Enterprise Monitor
installers and MySQL Enterprise Monitor Aggregator have been
upgraded to 1.0.1u.
* The bundled JRE was updated to 1.8.0_102 for both the Agent and
Service Manager.
* The MySQL database, bundled with the MySQL Enterprise Service
Manager, has been upgraded to MySQL 5.6.34.
Bugs Fixed
* The documentation did not specify the correct format for the ssl-ca-
keystore-path parameter. It was listed as a file path, but is a URL.
For example:
ssl-ca-keystore-path=file:///mysql/enterprise/agent/etc/mykeystore
(Bug #24386496)
* The InnoDB Redo Log Pending Writes graph was not displayed for MySQL
5.7 instances. (Bug #23563358)
* The Event Handler Asset column did not display any assets for the
eleventh handler created. That is, the Asset column correctly
displayed assets for the first 10 event handlers, but did not for
any other event handler. (Bug #23543149)
* The LDAP and SSL documentation did not contain information on how to
connect to LDAP servers which implement AES256. (Bug #23507489)
* The following variables were missing from the Fulltext Search
section of the MySQL Instance InnoDB tab:
o innodb_ft_enable_diag_print
o innodb_ft_result_cache_limit
o innodb_ft_total_cache_size
(Bug #23474063)
* LDAP configuration settings were not validated by the upgrade
process. Some of the fields were empty.
As of this release, default values are added to the empty fields.
(Bug #23299301)
* LDAP configuration was not validated when saved. As a result, if the
LDAP connection information was incorrectly configured,
NullPointerExceptions were logged, and it was not possible to
connect to the LDAP server. (Bug #23299288)
* Under certain circumstances, when monitoring MySQL 5.7, warnings
were generated in Query Analyzer due to a conflict between the
default mysql_mode and the mysql_mode set by MySQL Enterprise
Monitor. (Bug #23033046)
* It was possible to check/uncheck the assets in the Select Instances
field on the Edit Replication Group tab, although the selection or
deselection had no effect on the contents of the replication group.
Replication groups are populated dynamically, not manually. (Bug
#22620609)
* The certificate to keystore upgrade process attempted to use the
system's openSSL installation instead of that delivered with the
installer. As a result, if openSSL was not installed on the system,
the upgrade failed. As of this release, the upgrade only uses the
openSSL libraries delivered with the installer. (Bug #22522309)
* Under certain circumstances, deleting events resulted in a long-
running query which generated empty events. (Bug #22247688)
* The MySQL Enterprise Service Manager utility config.sh returned a
stack trace for unsupported commands, instead of redirecting the
user to the help.
* Custom agent service names were not maintained by the agent upgrade
process. The custom name was overwritten by the default agent
service name, MySQLEnterpriseMonitorAgent.
* The advice page generated by the MySQL Enterprise Backup Health
advisor contained broken links to the InnoDB chapters of the MySQL
Reference Manual. It also incorrectly referred to the --start-lsn
option as the --lsn option.
* On certain browser versions, the symbol << was transformed to Â<<.
* A message about keystore loading was logged every minute by the
certificate loader. The log level for this message was changed to
reduce the unnecessary log entries.
↧
↧
MySQL Cluster 7.5.4 has been released (part 1/2) (no replies)
Dear MySQL Users, MySQL Cluster 7.5.4 (GA) is the first GA release for MySQL Cluster 7.5. MySQL Cluster is the distributed, shared-nothing variant of MySQL. This storage engine provides: - In-Memory storage - Real-time performance (with optional checkpointing to disk) - Transparent Auto-Sharding - Read & write scalability - Active-Active/Multi-Master geographic replication - 99.999% High Availability with no single point of failure and on-line maintenance - NoSQL and SQL APIs (including C++, Java, http, Memcached and JavaScript/Node.js) [Due to size limitations on forum/email, this announcement had to be split into two parts. This is part 1.] MySQL Cluster 7.5.4, has been released and can be downloaded from http://www.mysql.com/downloads/cluster/ where you will also find Quick Start guides to help you get your first MySQL Cluster database up and running. The release notes are available from http://dev.mysql.com/doc/relnotes/mysql-cluster/7.5/en/index.html MySQL Cluster enables users to meet the database challenges of next generation web, cloud, and communications services with uncompromising scalability, uptime and agility. More details can be found at http://www.mysql.com/products/cluster/ Enjoy ! Changes in MySQL Cluster NDB 7.5.4 (5.7.16-ndb-7.5.4) (2016-10-18, General Availability) MySQL Cluster NDB 7.5.4 is a new release of MySQL Cluster 7.5, based on MySQL Server 5.7 and including features in version 7.5 of the NDB (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster.html) storage engine, as well as fixing recently discovered bugs in previous MySQL Cluster releases. Obtaining MySQL Cluster NDB 7.5. MySQL Cluster NDB 7.5 source code and binaries can be obtained from http://dev.mysql.com/downloads/cluster/. For an overview of changes made in MySQL Cluster NDB 7.5, see What is New in MySQL Cluster NDB 7.5 (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-what-is-new.html). This release also incorporates all bugfixes and changes made in previous MySQL Cluster releases, as well as all bugfixes and feature changes which were added in mainline MySQL 5.7 through MySQL 5.7.16 (see Changes in MySQL 5.7.16 (2016-10-12, General Availability) (http://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-16.html)). * Functionality Added or Changed * Bugs Fixed Functionality Added or Changed * Important Change; Packaging: Naming and organization of the RPMs provided for MySQL Cluster have been changed to align with those released for the MySQL server. All MySQL Cluster RPM package names are now prefixed with mysql-cluster. Data nodes are now installed using the data-node package; management nodes are now installed from the management-server package; and SQL nodes require the server and common packages. Important: SQL nodes must use the mysql-cluster version of these RPMs; the versions released for the standard MySQL server do not provide support for the NDB storage engine. All client programs, including both the mysql client and the ndb_mgm management client, are now included in the client RPM. For more information, see Installing MySQL Cluster from RPM (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-install-linux-rpm.html). * Added the --print-sql-log (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-programs-ndb-restore.html#option_ndb_restore_print-sql-log) option for the ndb_restore program included with the MySQL Cluster distribution. This option causes the program to log SQL statements to stdout. Note that each table being restored in this fashion must have an explicitly defined primary key; the hidden primary key implemented by the NDB (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster.html) storage engine is not sufficient for this purpose. (Bug #13511949) * For fully replicated tables, ndb_desc shows only nodes holding main fragment replicas for partitions; nodes with copy fragment replicas only are ignored. To make this information available in the mysql client, several new tables have been introduced in the ndbinfo (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbinfo.html) information database. These tables are listed here, with brief descriptions: + dict_obj_info (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbinfo-dict-obj-info.html) provides the names and types of database (DICT) objects in NDB, such as tables and indexes, as well as information about parent objects where applicable + table_distribution_status (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbinfo-table-distribution-status.html) provides NDB table distribution status information + table_fragments (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbinfo-table-fragments.html) provides information about the distribution of NDB table fragments + table_info (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbinfo-table-info.html) provides information about logging, checkpointing, storage, and other options in force for each NDB table + table_replicas (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbinfo-table-replicas.html) provides information about fragment replicas For more information, see The ndbinfo MySQL Cluster Information Database (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbinfo.html). (Bug #81762, Bug #23547643) * ClusterJ: To help applications handle database errors better, a number of new features have been added to the ClusterJDatastoreException class: + A new method, getCode(), returns code from the NdbError object. + A new method, getMysqlCode(), returns mysql_code from the NdbError object. + A new subclass, ClusterJDatastoreException.Classification, gives users the ability to decode the result from getClassification(). The method Classification.toString() gives the name of the error classification as listed in NDB Error Classifications (http://dev.mysql.com/doc/ndbapi/en/ndb-error-classifications.html). (Bug #22353594) Bugs Fixed * Important Change: The default value of the --ndb-default-column-format (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-options-variables.html#option_mysqld_ndb-default-column-format) server option has been changed from DYNAMIC to FIXED. This has been done for backwards compatibility. Only the default has been changed; setting this option to DYNAMIC continues to cause DYNAMIC to be used for ROW_FORMAT and COLUMN_FORMAT unless overridden. (Bug #24487363) * Important Change: Event buffer status reporting has been improved by altering the semantics for calculating lag or slippage. Rather than defining this lag as the number of epochs behind, lag is now taken as the number of epochs completely buffered in the event buffer, but not yet consumed by the binlog injector thread. As part of this work, the default value for the ndb_report_thresh_binlog_epoch_slip (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-options-variables.html#sysvar_ndb_report_thresh_binlog_epoch_slip) system variable has been increased from 3 to 10. For more information, see the description of this variable in the documentation, as well as Event Buffer Reporting in the Cluster Log (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-logs-event-buffer.html). (Bug #22916457) References: See also: Bug #22901309. * Cluster API: The term "fragment count type" has been superceded by "partition balance". This change affects NDB_TABLE options for NDB tables as well as in the NDB API. In NDB_TABLE table option syntax, the FRAGMENT_COUNT_TYPE keyword is replaced with PARTITION_BALANCE. In the NDB API, the Table (http://dev.mysql.com/doc/ndbapi/en/ndb-table.html) methods getFragmentCountType() and setFragmentCountType() have been renamed to getPartitionBalance() (http://dev.mysql.com/doc/ndbapi/en/ndb-table-getpartitionbalance.html) and setPartitionBalance() (http://dev.mysql.com/doc/ndbapi/en/ndb-table-setpartitionbalance.html), respectively; getFragmentCountTypeString() is renamed to getPartitionBalanceString() (http://dev.mysql.com/doc/ndbapi/en/ndb-table-getpartitionbalancestring.html). In addition, Object::FragmentCountType has been renamed to PartitionBalance (http://dev.mysql.com/doc/ndbapi/en/ndb-object-partitionbalance.html), and the names of its enumerated values have been updated to be consistent with the new nomenclature. For more information on how these changes affect NDB API applications, see the indicated Table (http://dev.mysql.com/doc/ndbapi/en/ndb-table.html) and Object (http://dev.mysql.com/doc/ndbapi/en/ndb-object.html) member descriptions. For more information on the SQL-level changes made as part of this fix, Setting NDB_TABLE options in table comments (http://dev.mysql.com/doc/refman/5.7/en/create-table-ndb-table-comment-options.html). (Bug #81761, Bug #23547525) References: See also: Bug #83147, Bug #24733331. * If more than 4096 seconds elapsed while calculating an internal NdbDuration::microSec() value, this could cause an assert warning that the calculation would overflow. We fix this to avoid any overflow or precision loss when converting from the internal "tick" format to microseconds and nanoseconds, by performing the calculation in two parts corresponding to seconds and fractions of a second. (Bug #24695026) * The serial commit protocol---which commits each operation at each replica individually and serially, and is used by the DBTC kernel block (see The DBTC Block (http://dev.mysql.com/doc/ndbapi/en/ndb-internals-kernel-blocks-dbtc.html)) for takeover and when a transaction is judged to have timed out during the COMMIT or COMPLETE phase---had no support for LATE_COMMIT, which is required for the READ_BACKUP and FULLY_REPLICATED protocols. (Bug #24681305) * In some cases, ALTER TABLE ... REORGANIZE PARTITION (http://dev.mysql.com/doc/refman/5.7/en/alter-table-partition-operations.html) could lead to an unplanned shutdown of the cluster. This was due to the fact that, for fully replicated tables. the log part ID was assumed to be the same as the partition ID. This worked when FOR_RA_BY_LDM was used, but not necessarily for the other partition balancing types. (Bug #24610551) * Using ALGORITHM=INPLACE when changing any of a table's NDB_TABLE properties (see Setting NDB_TABLE options in table comments (http://dev.mysql.com/doc/refman/5.7/en/create-table-ndb-table-comment-options.html)) caused the server to fail. (Bug #24584741) * Following successive ALTER TABLE (http://dev.mysql.com/doc/refman/5.7/en/alter-table.html) statements updating NDB_TABLE properties (see Setting NDB_TABLE options in table comments (http://dev.mysql.com/doc/refman/5.7/en/create-table-ndb-table-comment-options.html)), the current values were not always shown by SHOW CREATE TABLE (http://dev.mysql.com/doc/refman/5.7/en/show-create-table.html) or ndb_desc. (Bug #24584690) * Case-insensitivity of keywords such as FULLY_REPLICATED in NDB_TABLE comments was not honored. (Bug #24577931) * An ALTER TABLE (http://dev.mysql.com/doc/refman/5.7/en/alter-table.html) statement attempting to set both FULLY_REPLICATED and PARTITION_BALANCE (see Setting NDB_TABLE options in table comments (http://dev.mysql.com/doc/refman/5.7/en/create-table-ndb-table-comment-options.html)) failed with a garbled error message. (Bug #24577894) * A number of dependencies between the binlog injector thread and the NDB utility thread---a recurring source of synchronization and other problems---were removed. The principal changes are listed here: + Moved the setup of binlog injector structures from the utility thread to the injector thread itself. + Removed sharing of some utility and injector thread structures between these threads. + Moved stopping of the utility thread from the injector thread into a common block in which other such threads are stopped. + Removed a number of hacks required by the previous design. + Removed some injector mutex locking and injector condition signaling which were made obsolete by the changes already listed. (Bug #24496910) References: See also: Bug #22204186. * A late commit ACK signal used for FULLY_REPLICATED or READ_BACKUP tables caused the associated ApiConnectionRecord to have an invalid state. (Bug #24459817) References: See also: Bug #24444861. * Added missing error information for a failure occurring when tables on disk became full. (Bug #24425373) * When ndbmtd crashed, the resulting error log incorrectly specified the name of the trace for thread 0, appending the nonexistent suffix _t0 to the file name. (Bug #24353408) * Passing a nonexistent node ID to CREATE NODEGROUP (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-mgm-client-commands.html#ndbclient-create-nodegroup) led to random data node failures. (Bug #23748958) * DROP TABLE (http://dev.mysql.com/doc/refman/5.7/en/drop-table.html) followed by a node shutdown and subesequent master takeover---and with the containing local checkpoint not yet complete prior to the takeover---caused the LCP to be ignored, and in some cases, the data node to fail. (Bug #23735996) References: See also: Bug #23288252. * Removed an invalid assertion to the effect that all cascading child scans are closed at the time API connection records are released following an abort of the main transaction. The assertion was invalid because closing of scans in such cases is by design asynchronous with respect to the main transaction, which means that subscans may well take some time to close after the main transaction is closed. (Bug #23709284) * Although arguments to the DUMP (http://dev.mysql.com/doc/ndbapi/en/ndb-internals-dump-commands.html) command are 32-bit integers, ndb_mgmd used a buffer of only 10 bytes when processing them. (Bug #23708039) * The READ_BACKUP setting was not honored when performing scans on BLOB tables. (Bug #23703536) * Setting FULLY_REPLICATED=1 (see Setting NDB_TABLE options in table comments (http://dev.mysql.com/doc/refman/5.7/en/create-table-ndb-table-comment-options.html)) did not propagate to the internal BLOB part tables used for BLOB (http://dev.mysql.com/doc/refman/5.7/en/blob.html) and TEXT (http://dev.mysql.com/doc/refman/5.7/en/blob.html) columns. (Bug #23703343) * The READ_BACKUP setting was not applied to unique indexes. (Bug #23702848) * In ReadCommitted mode, DBSPJ read primary fragment replicas for tables with READ_BACKUP (see Setting NDB_TABLE options in table comments (http://dev.mysql.com/doc/refman/5.7/en/create-table-ndb-table-comment-options.html)), even when a local fragment was available. (Bug #23633848) * ALL REPORT MemoryUsage produced incorrect output when fully replicated tables were in use. (Bug #23539805) * Ordered indexes did not inherit READ_BACKUP (see Setting NDB_TABLE options in table comments (http://dev.mysql.com/doc/refman/5.7/en/create-table-ndb-table-comment-options.html)) from an indexed table, which meant that ordered index scans continued to be routed to only to primary fragment replicas and never to backup fragment replicas. Now DBDICT sets this property on ordered indexes from the table property when it distributes this information to instances of DBTC and DBSPJ. (Bug #23522027) * Updates to a table containing a virtual column could cause the binary logging thread to fail. (Bug #23514050) * A number of potential buffer overflow issues were found and fixed in the NDB codebase. (Bug #23152979) * During an online upgrade from a MySQL Cluster NDB 7.3 release to an NDB 7.4 (or later) release, the failures of several data nodes running the lower version during local checkpoints (LCPs), and just prior to upgrading these nodes, led to additional node failures following the upgrade. This was due to lingering elements of the EMPTY_LCP protocol initiated by the older nodes as part of an LCP-plus-restart sequence, and which is no longer used in NDB 7.4 and later due to LCP optimizations implemented in those versions. (Bug #23129433) * A SIGNAL_DROPPED_REP handler invoked in response to long message buffer exhaustion was defined in the SPJ kernel block, but not actually used. This meant that the default handler from SimulatedBlock was used instead in such cases, which shut down the data node. (Bug #23048816) References: See also: Bug #23251145, Bug #23251423. * When a data node has insufficient redo buffer during a system restart, it does not participate in the restart until after the other nodes have started. After this, it performs a takeover of its fragments from the nodes in its node group that have already started; during this time, the cluster is already running and user activity is possible, including DML and DDL operations. During a system restart, table creation is handled differently in the DIH kernel block than normally, as this creation actually consists of reloading table definition data from disk on the master node. Thus, DIH assumed that any table creation that occurred before all nodes had restarted must be related to the restart and thus always on the master node. However, during the takeover, table creation can occur on non-master nodes due to user activity; when this happened, the cluster underwent a forced shutdown. Now an extra check is made during system restarts to detect in such cases whether the executing node is the master node, and use that information to determine whether the table creation is part of the restart proper, or is taking place during a subsequent takeover. (Bug #23028418) * ndb_restore set the MAX_ROWS attribute for a table for which it had not been set prior to taking the backup. (Bug #22904640) * Whenever data nodes are added to or dropped from the cluster, the NDB (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster.html) kernel's Event API is notified of this using a SUB_GCP_COMPLETE_REP signal with either the ADD (add) flag or SUB (drop) flag set, as well as the number of nodes to add or drop; this allows NDB to maintain a correct count of SUB_GCP_COMPLETE_REP signals pending for every incomplete bucket. In addition to handling the bucket for the epoch associated with the addition or removal, it must also compensate for any later incomplete buckets associated with later epochs. Although it was possible to complete such buckets out of order, there was no handling of these, leading a stall in to event reception. This fix adds detection and handling of such out of order bucket completion. (Bug #20402364) References: See also: Bug #82424, Bug #24399450. * To be continued in part 2....
↧
MySQL Cluster 7.5.4 has been released (part 2/2) (no replies)
[This is part 2 of the announcement] * When performing online reorganization of tables, unique indexes were not included in the reorganization. (Bug #13714258) * Local reads of unique index and blob tables did not work correctly for fully replicated tables using more than one node group. (Bug #83016, Bug #24675602) * The effects of an ALTER TABLE (http://dev.mysql.com/doc/refman/5.7/en/alter-table.html) statement changing a table to use READ_BACKUP were not preserved after a restart of the cluster. (Bug #82812, Bug #24570439) * Using FOR_RP_BY_NODE or FOR_RP_BY_LDM for PARTITION_BALANCE did not work with fully replicated tables. (Bug #82801, Bug #24565265) * Changes to READ_BACKUP settings were not propagated to internal blob tables. (Bug #82788, Bug #24558232) * The count displayed by the c_exec column in the ndbinfo.threadstat (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbinfo-threadstat.html) table was incomplete. (Bug #82635, Bug #24482218) * The default PARTITION_BALANCE setting for NDB (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster.html) tables created with READ_BACKUP=1 (see Setting NDB_TABLE options in table comments (http://dev.mysql.com/doc/refman/5.7/en/create-table-ndb-table-comment-options.html)) has been changed from FOR_RA_BY_LDM to FOR_RP_BY_LDM. (Bug #82634, Bug #24482114) * The internal function ndbcluster_binlog_wait(), which provides a way to make sure that all events originating from a given thread arrive in the binary log, is used by SHOW BINLOG EVENTS (http://dev.mysql.com/doc/refman/5.7/en/show-binlog-events.html) as well as when resetting the binary log. This function waits on an injector condition while the latest global epoch handled by NDB is more recent than the epoch last committed in this session, which implies that this condition must be signalled whenever the binary log thread completes and updates a new latest global epoch. Inspection of the code revealed that this condition signalling was missing, and that, instead of being awakened whenever a new latest global epoch completes (~100ms), client threads waited for the maximum timeout (1 second). This fix adds the missing injector condition signalling, while also changing it to a condition broadcast to make sure that all client threads are alerted. (Bug #82630, Bug #24481551) * Fully replicated internal foreign key or unique index triggers could fire multiple times, which led to aborted transactions for an insert or a delete operation. This happened due to redundant deferred constraint triggers firing during pre-commit. Now in such cases, we ensure that only triggers specific to unique indexes are fired in this stage. (Bug #82570, Bug #24454378) * Backups potentially could fail when using fully replicated tables due to their high usage (and subsequent exhaustion) of internal trigger resources. To compensate for this, the amount of memory reserved in the NDB kernel for internal triggers has been increased, and is now based in part on the maximum number of tables. (Bug #82569, Bug #24454262) References: See also: Bug #23539733. * In the DBTC function executeFullyReplicatedTrigger() in the NDB kernel, an incorrect check of state led in some cases to failure handling when no failure had actually occurred. (Bug #82568, Bug #24454093) References: See also: Bug #23539733. * When returning from LQHKEYREQ with failure in LQHKEYREF in an internal trigger operation, no check was made as to whether the trigger was fully replicated, so that those triggers that were fully replicated were never handled. (Bug #82566, Bug #24453949) References: See also: Bug #23539733. * When READ_BACKUP had not previously been set, then was set to 1 as part of an ALTER TABLE ... ALGORITHM=INPLACE (http://dev.mysql.com/doc/refman/5.7/en/alter-table-partition-operations.html) statement, the change was not propagated to internal unique index tables or BLOB (http://dev.mysql.com/doc/refman/5.7/en/blob.html) tables. (Bug #82491, Bug #24424459) * Distribution of MySQL privileges was incomplete due to the failure of the mysql_cluster_move_privileges() procedure to convert the mysql.proxies_priv table to NDB. The root cause of this was an ALTER TABLE ... ENGINE NDB (http://dev.mysql.com/doc/refman/5.7/en/alter-table.html) statement which sometimes failed when this table contained illegal TIMESTAMP (http://dev.mysql.com/doc/refman/5.7/en/datetime.html) values. (Bug #82464, Bug #24430209) * The internal variable m_max_warning_level was not initialized in storage/ndb/src/kernel/blocks/thrman.cpp. This sometimes led to node failures during a restart when the uninitialized value was treated as 0. (Bug #82053, Bug #23717703) * Usually, when performing a system restart, all nodes are restored from redo logs and local checkpoints (LCPs), but in some cases some node might require a copy phase before it is finished with the system restart. When this happens, the node in question waits for all other nodes to start up completely before performing the copy phase. Notwithstanding the fact that it is thus possible to begin a local checkpoint before reaching start phase 4 in the DBDIH block, LCP status was initialized to IDLE in all cases, which could lead to a node failure. Now, when performing this variant of a system restart, the LCP status is no longer initialized. (Bug #82050, Bug #23717479) * After adding a new node group online and executing ALTER TABLE ... ALGORITHM=INPLACE REORGANIZE PARTITION (http://dev.mysql.com/doc/refman/5.7/en/alter-table-partition-operations.html), partition IDs were not set correctly for new fragments. In a related change done as part of fixing this issue, ndb_desc -p (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-programs-ndb-desc.html#option_ndb_desc_extra-partition-info) now displays rows relating to partitions in order of partition ID. (Bug #82037, Bug #23710999) * When executing STOP BACKUP it is possible sometimes that a few bytes are written to the backup data file before the backup process actually terminates. When using ODIRECT (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbd-definition.html#ndbparam-ndbd-odirect), this resulted in the wrong error code being returned. Now in such cases, nothing is written to O_DIRECT files unless the alignment is correct. (Bug #82017, Bug #23701911) * When transaction coordinator (TC) connection records were used up, it was possible to handle scans only for local checkpoints and backups, so that operations coming from the DBUTIL block---used for ALTER TABLE ... REORGANIZE PARTITION (http://dev.mysql.com/doc/refman/5.7/en/alter-table-partition-operations.html) and other operations that reorganize metadata---were unnecessarily blocked. In addition, such operations were not always retried when TC records were exhausted. To fix this issue, a number of operation records are now earmarked for DBUTIL usage, as well as for LCP and backup usage so that these operations are also not negatively impacted by operations coming from DBUTIL. For more information, see The DBUTIL Block (http://dev.mysql.com/doc/ndbapi/en/ndb-internals-kernel-blocks-dbutil.html). (Bug #81992, Bug #23642198) * Operations performing multiple updates of the same row within the same transaction could sometimes lead to corruption of lengths of page entries. (Bug #81938, Bug #23619031) * During a node restart, a fragment can be restored using information obtained from local checkpoints (LCPs); up to 2 restorable LCPs are retained at any given time. When an LCP is reported to the DIH kernel block as completed, but the node fails before the last global checkpoint index written into this LCP has actually completed, the latest LCP is not restorable. Although it should be possible to use the older LCP, it was instead assumed that no LCP existed for the fragment, which slowed the restart process. Now in such cases, the older, restorable LCP is used, which should help decrease long node restart times. (Bug #81894, Bug #23602217) * Optimized node selection (ndb_optimized_node_selection (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-options-variables.html#sysvar_ndb_optimized_node_selection) setting) was not respected by ndb_data_node_neighbour (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-options-variables.html#sysvar_ndb_data_node_neighbour) when this was enabled. (Bug #81778, Bug #23555834) * NDB no longer retries a global schema lock if this has failed due to a timeout (default 3000ms) and there is the potential for this lock request to participate in a metadata lock-global schema lock deadlock. Now in such cases it selects itself as a "victim", and returns the decision to the requestor of the metadata lock, which then handles the request as a failed lock request (preferable to remaining deadlocked indefinitely), or, where a deadlock handler exists, retries the metadata lock-global schema lock. (Bug #81775, Bug #23553267) * Two issues were found in the implementation of hash maps---used by NDB for mapping a table row's hash value to a partition---for fully replicated tables: 1. Hash maps were selected based on the number of fragments rather than the number of partitions. This was previously undetected due to the fact that, for other kinds of tables, these values are always the same. 2. The hash map was employed as a partition-to-partition map, using the table row's hash value modulus the partition count as input. This fix addresses both of the problems just described. (Bug #81757, Bug #23544220) References: See also: Bug #81761, Bug #23547525, Bug #23553996. * Using mysqld together with --initialize (http://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_initialize) and --ndbcluster (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-options-variables.html#option_mysqld_ndbcluster) led to problems later when attempting to use mysql_upgrade. When running with --initialize, the server does not require NDB (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster.html) support, and having it enabled can lead to issues with ndbinfo (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbinfo.html) tables. To prevent this from happening, using the --initialize option now causes mysqld to ignore the --ndbcluster option if the latter is also specified. This issue affects upgrades from MySQL Cluster NDB 7.5.3 or 7.5.3 only. In cases where such upgrades fail for the reasons outlined previously, you can work around the issue by deleting all .frm files in the data/ndbinfo directory following a rolling restart of the entire cluster, then running mysql_upgrade. (Bug #81689, Bug #23518923) References: See also: Bug #82724, Bug #24521927. * While a mysqld was waiting to connect to the management server during initialization of the NDB handler, it was not possible to shut down the mysqld. If the mysqld was not able to make the connection, it could become stuck at this point. This was due to an internal wait condition in the utility and index statistics threads that could go unmet indefinitely. This condition has been augmented with a maximum timeout of 1 second, which makes it more likely that these threads terminate themselves properly in such cases. In addition, the connection thread waiting for the management server connection performed 2 sleeps in the case just described, instead of 1 sleep, as intended. (Bug #81585, Bug #23343673) * ALTER TABLE ... ALGORITHM=INPLACE (http://dev.mysql.com/doc/refman/5.7/en/alter-table-partition-operations.html) on a fully replicated table did not copy the associated trigger ID, leading to a failure in the DBDICT kernel block. (Bug #81544, Bug #23330359) * The list of deferred tree node lookup requests created when preparing to abort a DBSPJ request were not cleared when this was complete, which could lead to deferred operations being started even after the DBSPJ request aborted. (Bug #81355, Bug #23251423) References: See also: Bug #23048816. * Error and abort handling in Dbspj::execTRANSID_AI() was implemented such that its abort() method was called before processing of the incoming signal was complete. Since this method sends signals to the LDM, this partly overwrote the contents of the signal which was later required by execTRANSID_AI(). This could result in aborted DBSPJ requests cleaning up their allocated resources too early, or not at all. (Bug #81353, Bug #23251145) References: See also: Bug #23048816. * The read backup feature added in MySQL Cluster NDB 7.5.2 that makes it possible to read from backup replicas was not used for reads with lock, or for reads of BLOB (http://dev.mysql.com/doc/refman/5.7/en/blob.html) tables or unique key tables where locks were upgraded to reads with lock. Now the TCKEYREQ and SCAN_TABREQ signals use a flag to convey information about such locks making it possible to read from a backup replica when a read lock was upgraded due to being the read of the base table for a BLOB table, or due to being the read for a unique key. (Bug #80861, Bug #23001841) * Primary replicas of partitioned tables were not distributed evenly among node groups and local data managers. As part of the fix for this issue, the maximum number of node groups supported for a single MySQL Cluster, which was previously not determined, is now set at 48 (MAX_NDB_NODE_GROUPS). (Bug #80845, Bug #22996305) * Several object constructors and similar functions in the NDB (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster.html) codebase did not always perform sanity checks when creating new instances. These checks are now performed under such circumstances. (Bug #77408, Bug #21286722) * Cluster API: Reuse of transaction IDs could occur when Ndb (http://dev.mysql.com/doc/ndbapi/en/ndb-ndb.html) objects were created and deleted concurrently. As part of this fix, the NDB API methods lock_ndb_objects() (http://dev.mysql.com/doc/ndbapi/en/ndb-ndb-cluster-connection-lock-ndb-objects.html) and unlock_ndb_objects (http://dev.mysql.com/doc/ndbapi/en/ndb-ndb-cluster-connection-unlock-ndb-objects.html) are now declared as const. (Bug #23709232) * Cluster API: When the management server was restarted while running an MGM API application that continuously monitored events, subsequent events were not reported to the application, with timeouts being returned indefinitely instead of an error. This occurred because sockets for event listeners were not closed when restarting mgmd. This is fixed by ensuring that event listener sockets are closed when the management server shuts down, causing applications using functions such as ndb_logevent_get_next() (http://dev.mysql.com/doc/ndbapi/en/mgm-ndb-logevent-get-next.html) to receive a read error following the restart. (Bug #19474782) * Cluster API: To process incoming signals, a thread which wants to act as a receiver must acquire polling rights from the transporter layer. This can be requested and assigned to a separate receiver thread, or each client thread can take the receiver role when it is waiting for a result. When the thread acting as poll owner receives a sufficient amount of data, it releases locks on any other clients taken while delivering signals to them. This could make them runnable again, and the operating system scheduler could decide that it was time to wake them up, which happened at the expense of the poll owner threads, which were in turn excluded from the CPU while still holding polling rights on it. After this fix, polling rights are released by a thread before unlocking and signalling other threads. This makes polling rights available for other threads that are actively executing on this CPU. This change increases concurrency when polling receiver data, which should also reduce latency for clients waiting to be woken up. (Bug #83129, Bug #24716756) * Cluster API: libndbclient and libmysqlclient exported conflicting symbols, resulting in a segmentation fault in debug builds on Linux. To fix this issue, the conflicting symbols in libndbclient.so are no longer publicly visible. Due to this change, the version number for libndbclient.so has been raised from 6.0.0 to 6.1.0. (Bug #83093, Bug #24707521) References: See also: Bug #80352, Bug #22722555. * Cluster API: When NDB schema object ownership checks are enabled by a given NdbTransaction (http://dev.mysql.com/doc/ndbapi/en/ndb-ndbtransaction.html), objects used by this transaction are checked to make sure that they belong to the NdbDictionary (http://dev.mysql.com/doc/ndbapi/en/ndb-ndbdictionary.html) owned by this connection. An attempt to create a NdbOperation (http://dev.mysql.com/doc/ndbapi/en/ndb-ndboperation.html), NdbScanOperation (http://dev.mysql.com/doc/ndbapi/en/ndb-ndbscanoperation.html), or NdbIndexScanOperation (http://dev.mysql.com/doc/ndbapi/en/ndb-ndbindexscanoperation.html) on a table or index not belonging to the same connection fails. This fix corrects a resource leak which occurred when the operation object to be created was allocated before checking schema object ownership and subsequently not released when the object creation failed. (Bug #81949, Bug #23623978) References: See also: Bug #81945, Bug #23623251. * Cluster API: NDB API objects are allocated in the context of an Ndb (http://dev.mysql.com/doc/ndbapi/en/ndb-ndb.html) object, or of an NdbTransaction (http://dev.mysql.com/doc/ndbapi/en/ndb-ndbtransaction.html) object which is itself owned by an Ndb object. When a given Ndb object is destroyed, all remaining NdbTransaction objects are terminated, and all NDB API objects related to this Ndb object should be released at this time as well. It was found, when there remained unclosed NdbTransaction objects when their parent Ndb object was destroyed, leaks of objects allocated from the NdbTransaction objects could occur. (However, the NdbTransaction objects themselves did not leak.) While it is advisable (and, indeed, recommended) to close an NdbTransaction explicitly as soon as its lifetime ends, the destruction of the parent Ndb object should be sufficient to release whatever objects are dependent on it. Now in cases such as described previously, the Ndb destructor checks to ensure that all objects derived from a given Ndb instance are truly released. (Bug #81945, Bug #23623251) * Cluster API: In some of the NDB API example programs included with the MySQL Cluster distribution, ndb_end() was called prior to calling the Ndb_cluster_connection (http://dev.mysql.com/doc/ndbapi/en/ndb-ndb-cluster-connection.html) destructor. This caused a segmentation fault in debug builds on all platforms. The example programs affected have also been extensively revised and refactored. See NDB API Examples (http://dev.mysql.com/doc/ndbapi/en/ndb-examples.html), for more information. (Bug #80352, Bug #22722555) References: See also: Bug #83093, Bug #24707521. On behalf of the Oracle MySQL RE Team Balasubramanian Kandasamy
↧
MySQL Cluster 7.2.26 has been released (no replies)
Dear MySQL Users, MySQL Cluster is the distributed, shared-nothing variant of MySQL. This storage engine provides: - In-Memory storage - Real-time performance (with optional checkpointing to disk) - Transparent Auto-Sharding - Read & write scalability - Active-Active/Multi-Master geographic replication - 99.999% High Availability with no single point of failure and on-line maintenance - NoSQL and SQL APIs (including C++, Java, http and Memcached) MySQL Cluster 7.2.26, has been released and can be downloaded from http://www.mysql.com/downloads/cluster/ where you will also find Quick Start guides to help you get your first MySQL Cluster database up and running. The release notes are available from http://dev.mysql.com/doc/relnotes/mysql-cluster/7.2/en/index.html MySQL Cluster enables users to meet the database challenges of next generation web, cloud, and communications services with uncompromising scalability, uptime and agility. More details can be found at http://www.mysql.com/products/cluster/ Enjoy ! Changes in MySQL Cluster NDB 7.2.26 (5.5.53-ndb-7.2.26) (2016-10-18, General Availability) MySQL Cluster NDB 7.2.26 is a new release of MySQL Cluster, incorporating new features in the NDB storage engine, and fixing recently discovered bugs in previous MySQL Cluster NDB 7.2 development releases. Obtaining MySQL Cluster NDB 7.2. MySQL Cluster NDB 7.2 source code and binaries can be obtained from http://dev.mysql.com/downloads/cluster/. This release also incorporates all bugfixes and changes made in previous MySQL Cluster releases, as well as all bugfixes and feature changes which were added in mainline MySQL 5.5 through MySQL 5.5.53 (see Changes in MySQL 5.5.53 (Not yet released) (http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-53.html)). Bugs Fixed * Several object constructors and similar functions in the NDB codebase did not always perform sanity checks when creating new instances. These checks are now performed under such circumstances. (Bug #77408, Bug #21286722) On behalf of the Oracle MySQL RE Team Piotr Obrzut
↧
↧
MySQL Cluster 7.4.13 has been released (no replies)
Dear MySQL Users, MySQL Cluster is the distributed, shared-nothing variant of MySQL. This storage engine provides: - In-Memory storage - Real-time performance - Transparent Auto-Sharding - Read & write scalability - Active-Active/Multi-Master geographic replication - 99.999% High Availability with no single point of failure and on-line maintenance - NoSQL and SQL APIs (including C++, Java, http, Memcached and JavaScript/Node.js) MySQL Cluster 7.4 makes significant advances in performance; operational efficiency (such as enhanced reporting and faster restarts and upgrades) and conflict detection and resolution for active-active replication between MySQL Clusters. MySQL Cluster 7.4.13, has been released and can be downloaded from http://www.mysql.com/downloads/cluster/ where you will also find Quick Start guides to help you get your first MySQL Cluster database up and running. The release notes are available from http://dev.mysql.com/doc/relnotes/mysql-cluster/7.4/en/index.html MySQL Cluster enables users to meet the database challenges of next generation web, cloud, and communications services with uncompromising scalability, uptime and agility. More details can be found at http://www.mysql.com/products/cluster/ Enjoy ! ============================================================================== Changes in MySQL Cluster NDB 7.4.13 (5.6.34-ndb-7.4.13) (2016-10-18) MySQL Cluster NDB 7.4.13 is a new release of MySQL Cluster 7.4, based on MySQL Server 5.6 and including features in version 7.4 of the NDB storage engine, as well as fixing recently discovered bugs in previous MySQL Cluster releases. Obtaining MySQL Cluster NDB 7.4. MySQL Cluster NDB 7.4 source code and binaries can be obtained from http://dev.mysql.com/downloads/cluster/. For an overview of changes made in MySQL Cluster NDB 7.4, see What is New in MySQL Cluster NDB 7.4 (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-what-is -new-7-4.html). This release also incorporates all bugfixes and changes made in previous MySQL Cluster releases, as well as all bugfixes and feature changes which were added in mainline MySQL 5.6 through MySQL 5.6.34 (see Changes in MySQL 5.6.34 (Not yet released) (http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-34.h tml). Bugs Fixed * Passing a nonexistent node ID to CREATE NODEGROUP led to random data node failures. (Bug #23748958) * DROP TABLE followed by a node shutdown and subesequent master takeover---and with the containing local checkpoint not yet complete prior to the takeover---caused the LCP to be ignored, and in some cases, the data node to fail. (Bug #23735996) References: See also: Bug #23288252. * Removed an invalid assertion to the effect that all cascading child scans are closed at the time API connection records are released following an abort of the main transaction. The assertion was invalid because closing of scans in such cases is by design asynchronous with respect to the main transaction, which means that subscans may well take some time to close after the main transaction is closed. (Bug #23709284) * A number of potential buffer overflow issues were found and fixed in the NDB codebase. (Bug #23152979) * A SIGNAL_DROPPED_REP handler invoked in response to long message buffer exhaustion was defined in the SPJ kernel block, but not actually used. This meant that the default handler from SimulatedBlock was used instead in such cases, which shut down the data node. (Bug #23048816) References: See also: Bug #23251145, Bug #23251423. * When a data node has insufficient redo buffer during a system restart, it does not participate in the restart until after the other nodes have started. After this, it performs a takeover of its fragments from the nodes in its node group that have already started; during this time, the cluster is already running and user activity is possible, including DML and DDL operations. During a system restart, table creation is handled differently in the DIH kernel block than normally, as this creation actually consists of reloading table definition data from disk on the master node. Thus, DIH assumed that any table creation that occurred before all nodes had restarted must be related to the restart and thus always on the master node. However, during the takeover, table creation can occur on non-master nodes due to user activity; when this happened, the cluster underwent a forced shutdown. Now an extra check is made during system restarts to detect in such cases whether the executing node is the master node, and use that information to determine whether the table creation is part of the restart proper, or is taking place during a subsequent takeover. (Bug #23028418) * ndb_restore set the MAX_ROWS attribute for a table for which it had not been set prior to taking the backup. (Bug #22904640) * Whenever data nodes are added to or dropped from the cluster, the NDB kernel's Event API is notified of this using a SUB_GCP_COMPLETE_REP signal with either the ADD (add) flag or SUB (drop) flag set, as well as the number of nodes to add or drop; this allows NDB to maintain a correct count of SUB_GCP_COMPLETE_REP signals pending for every incomplete bucket. In addition to handling the bucket for the epoch associated with the addition or removal, it must also compensate for any later incomplete buckets associated with later epochs. Although it was possible to complete such buckets out of order, there was no handling of these, leading a stall in to event reception. This fix adds detection and handling of such out of order bucket completion. (Bug #20402364) References: See also: Bug #82424, Bug #24399450. * The count displayed by the c_exec column in the ndbinfo.threadstat table was incomplete. (Bug #82635, Bug #24482218) * The internal function ndbcluster_binlog_wait(), which provides a way to make sure that all events originating from a given thread arrive in the binary log, is used by SHOW BINLOG EVENTS as well as when resetting the binary log. This function waits on an injector condition while the latest global epoch handled by NDB is more recent than the epoch last committed in this session, which implies that this condition must be signalled whenever the binary log thread completes and updates a new latest global epoch. Inspection of the code revealed that this condition signalling was missing, and that, instead of being awakened whenever a new latest global epoch completes (~100ms), client threads waited for the maximum timeout (1 second). This fix adds the missing injector condition signalling, while also changing it to a condition broadcast to make sure that all client threads are alerted. (Bug #82630, Bug #24481551) * During a node restart, a fragment can be restored using information obtained from local checkpoints (LCPs); up to 2 restorable LCPs are retained at any given time. When an LCP is reported to the DIH kernel block as completed, but the node fails before the last global checkpoint index written into this LCP has actually completed, the latest LCP is not restorable. Although it should be possible to use the older LCP, it was instead assumed that no LCP existed for the fragment, which slowed the restart process. Now in such cases, the older, restorable LCP is used, which should help decrease long node restart times. (Bug #81894, Bug #23602217) * While a mysqld was waiting to connect to the management server during initialization of the NDB handler, it was not possible to shut down the mysqld. If the mysqld was not able to make the connection, it could become stuck at this point. This was due to an internal wait condition in the utility and index statistics threads that could go unmet indefinitely. This condition has been augmented with a maximum timeout of 1 second, which makes it more likely that these threads terminate themselves properly in such cases. In addition, the connection thread waiting for the management server connection performed 2 sleeps in the case just described, instead of 1 sleep, as intended. (Bug #81585, Bug #23343673) * The list of deferred tree node lookup requests created when preparing to abort a DBSPJ request were not cleared when this was complete, which could lead to deferred operations being started even after the DBSPJ request aborted. (Bug #81355, Bug #23251423) References: See also: Bug #23048816. * Error and abort handling in Dbspj::execTRANSID_AI() was implemented such that its abort() method was called before processing of the incoming signal was complete. Since this method sends signals to the LDM, this partly overwrote the contents of the signal which was later required by execTRANSID_AI(). This could result in aborted DBSPJ requests cleaning up their allocated resources too early, or not at all. (Bug #81353, Bug #23251145) References: See also: Bug #23048816. * Several object constructors and similar functions in the NDB codebase did not always perform sanity checks when creating new instances. These checks are now performed under such circumstances. (Bug #77408, Bug #21286722) * Cluster API: Reuse of transaction IDs could occur when Ndb objects were created and deleted concurrently. As part of this fix, the NDB API methods lock_ndb_objects() and unlock_ndb_objects are now declared as const. (Bug #23709232) * Cluster API: When the management server was restarted while running an MGM API application that continuously monitored events, subsequent events were not reported to the application, with timeouts being returned indefinitely instead of an error. This occurred because sockets for event listeners were not closed when restarting mgmd. This is fixed by ensuring that event listener sockets are closed when the management server shuts down, causing applications using functions such as ndb_logevent_get_next() to receive a read error following the restart. (Bug #19474782) Enjoy and thanks for the support! On behalf of the MySQL Release Team -Sreedhar S
↧
MySQL Connector/J 6.0.5 m4 Development Release has been released (no replies)
Dear MySQL users, MySQL Connector/J 6.0.5 m4 Development Release is a developer milestone release for the 6.0.x series. This release includes the following new features and changes, also described in more detail on http://dev.mysql.com/doc/relnotes/connector-j/6.0/en/news-6-0-5.html. As always, we recommend that you check the "CHANGES" file in the download archive to be aware of changes in behavior that might affect your application. To download MySQL Connector/J 6.0.5 M4, see the "Development Releases" tab at http://dev.mysql.com/downloads/connector/j/ Enjoy! Changes in MySQL Connector/J 6.0.5 (2016-10-19, Milestone 4) Version 6.0.5 Milestone is the forth development release of the 6.0 branch of MySQL Connector/J, providing an insight into upcoming features. It is suitable for use with MySQL server versions 5.5, 5.6, and 5.7. It supports the Java Database Connectivity (JDBC) 4.2 API. Functionality Added or Changed * Added support for the error codes of two MySQL server errors, ER_XA_RBTIMEOUT (http://dev.mysql.com/doc/refman/5.7/en/error-messages-se rver.html#error_er_xa_rbtimeout) and ER_XA_RBDEADLOCK (http://dev.mysql.com/doc/refman/5.7/en/error-messages-se rver.html#error_er_xa_rbdeadlock). (Bug #13702433, Bug #64188) * X DevAPI: Client-side failover is now supported. It is enabled by specifying multiple hosts in the X DevAPI connection URL. See X DevAPI URL Format for more details. * com.mysql.cj.core.MysqlType can now be used as java.sql.SQLType in JDBC methods. * X DevAPI: A new method, createTable(), has been added to the Schema interface. See MySQL Connector/J X DevAPI Reference (http://dev.mysql.com/doc/dev/connector-j/) for details. * X DevAPI: A new method, bindToDefaultShard(), has been added to the XSession interface. It creates a "virtual" NodeSession instance, which shares the connection to the router with the XSession that was used to create it. See MySQL Connector/J X DevAPI Reference (http://dev.mysql.com/doc/dev/connector-j/) for details. * X DevAPI: For any function that takes a value list of parameters for its argument, there is now more flexibility with how the parameters are to be specified: they can now be supplied either as a value list or a list of individual parameters. * The Extension interface has been removed. Extension classes now implement their own interfaces. Bugs Fixed * In certain cases, the exception interceptor was being triggered twice in the internal SQLException factory method. Also, if the exception interceptor returned an exception with the cause already initialized, the same factory method would fail to initialize the cause again, and the real cause for the exception remained uncaptured. (Bug #23743956) * getLength() returned -1 for fields of the LONGBLOBL, LONGTEXT, and GEOMETRY data types. This is due to the way these data types are handled by protocol buffers, and this fix makes the method return the right values. (Bug #22988922) * A memory leakage occurred when the connection properties cachePrepStmts and useServerPrepStmts were both set to be true and server-side prepared statements were set as non-poolable, which resulted in the prepared statement being not closable by the client, and the number of prepared statements then kept on increasing. When the memory leakage described above occurred, it did not make Connector/J fail, as Connector/J switched to using client-side prepared statements when the maximum number of prepared statements was reached. However, when rewriteBatchedStatements was also set to true, the switch to client-side prepared statements did not occur, and Connector/J threw the MySQLSyntaxErrorException ("Can't create more than max_prepared_stmt_count statements") when the client wanted to create more prepared statements than allowed. This fix corrected the way prepared statements are handled in order to avoid both of the problems described above. (Bug #22954007, Bug #80615) * ResultSet.getString() sometimes returned garbled data for columns of the JSON data type. This was because JSON data was binary encoded by MySQL using the utf8mb4 character set, but decoded by Connector/J using the ISO-8859-1 character set. This patch fixes the decoding for JSON data. Thanks to Dong Song Ling for contributing to the fix. (Bug #22891845, Bug #80631) * When Connector/J retrieved the value of a BIT column as a string using, for example, getString(), it returned the wrong string if the BIT value happened to be equivalent to the decimal value of some ASCII character. This was because Connector/J treated the BIT value as a character code; thus, for example, the value "01100001" (decimal 97 in binary) was interpreted as the character "a" (whose ASCII value in decimal is 97), which was returned by the function. This fix corrected the parsing behavior of Connector/J on BIT values, so that a string representation of the number ("97" in the last example) is returned by getString(). (Bug #21938551, Bug #78685) * When the connection property useLocalTransactionState was set to "true" and autocommit was set to "false" on the server, if any exception was thrown, any further calls for rollback() or commit() were not sent to the server. It was because when there was an exception while executing a query, Connector/J lost the information regarding the server's transaction state. This patch fixes this issue by preserving the previous transaction state for the current connection when any exception is thrown. (Bug #20212882, Bug #75209) * An invalid connection URL caused Connector/J to throw a NullPointerException. With this fix, an SQLException is thrown instead in the situation. (Bug #18759269, Bug #72632) * When a very large amount of compressed data is transmitted from the server to the client and under very special circumstances, a CommunicationsException might occur. It happened when a single compressed packet from the server was not big enough to provide an entire uncompressed packet to the client side. With this fix, Connector/J reads as many compressed packets as necessary to fill the size of the uncompressed packet that was being requested. Thanks to Ryosuke Yamazaki for contributing to the fix. (Bug #11756431, Bug #48346) Documentation -------------- Online: http://dev.mysql.com/doc/connector-j/6.0/en/index.html Reporting Bugs --------------- We welcome and appreciate your feedback and bug reports: http://bugs.mysql.com/ On behalf of the MySQL Release Team -Sreedhar S
↧
MySQL Cluster 7.3.15 has been released (no replies)
Dear MySQL Users,
MySQL Cluster is the distributed, shared-nothing variant of MySQL.
This storage engine provides:
- In-Memory storage - Real-time performance (with optional
checkpointing to disk)
- Transparent Auto-Sharding - Read & write scalability
- Active-Active/Multi-Master geographic replication
- 99.999% High Availability with no single point of failure
and on-line maintenance
- NoSQL and SQL APIs (including C++, Java, http, Memcached
and JavaScript/Node.js)
MySQL Cluster 7.3.15, has been released and can be downloaded from
http://www.mysql.com/downloads/cluster/
where you will also find Quick Start guides to help you get your
first MySQL Cluster database up and running.
The release notes are available from
http://dev.mysql.com/doc/relnotes/mysql-cluster/7.3/en/index.html
MySQL Cluster enables users to meet the database challenges of next
generation web, cloud, and communications services with uncompromising
scalability, uptime and agility.
More details can be found at
http://www.mysql.com/products/cluster/
Enjoy !
MySQL Cluster is the distributed, shared-nothing variant of MySQL.
This storage engine provides:
- In-Memory storage - Real-time performance (with optional
checkpointing to disk)
- Transparent Auto-Sharding - Read & write scalability
- Active-Active/Multi-Master geographic replication
- 99.999% High Availability with no single point of failure
and on-line maintenance
- NoSQL and SQL APIs (including C++, Java, http, Memcached
and JavaScript/Node.js)
MySQL Cluster 7.3.15, has been released and can be downloaded from
http://www.mysql.com/downloads/cluster/
where you will also find Quick Start guides to help you get your
first MySQL Cluster database up and running.
The release notes are available from
http://dev.mysql.com/doc/relnotes/mysql-cluster/7.3/en/index.html
MySQL Cluster enables users to meet the database challenges of next
generation web, cloud, and communications services with uncompromising
scalability, uptime and agility.
More details can be found at
http://www.mysql.com/products/cluster/
Enjoy !
Changes in MySQL Cluster NDB 7.3.15 (5.6.34-ndb-7.3.15) (2016-10-18) MySQL Cluster NDB 7.3.15 is a new release of MySQL Cluster, based on MySQL Server 5.6 and including features from version 7.3 of the NDB storage engine, as well as fixing a number of recently discovered bugs in previous MySQL Cluster releases. Obtaining MySQL Cluster NDB 7.3. MySQL Cluster NDB 7.3 source code and binaries can be obtained from http://dev.mysql.com/downloads/cluster/. For an overview of changes made in MySQL Cluster NDB 7.3, see What is New in MySQL Cluster NDB 7.3 (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-what-is-new-7-3.html). This release also incorporates all bugfixes and changes made in previous MySQL Cluster releases, as well as all bugfixes and feature changes which were added in mainline MySQL 5.6 through MySQL 5.6.34 (see Changes in MySQL 5.6.34 (2016-10-12, General Availability) (http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-34.html)). * Functionality Added or Changed * Bugs Fixed Functionality Added or Changed * ClusterJ: To help applications handle database errors better, a number of new features have been added to the ClusterJDatastoreException class: + A new method, getCode(), returns code from the NdbError object. + A new method, getMysqlCode(), returns mysql_code from the NdbError object. + A new subclass, ClusterJDatastoreException.Classification, gives users the ability to decode the result from getClassification(). The method Classification.toString() gives the name of the error classification as listed in NDB Error Classifications (http://dev.mysql.com/doc/ndbapi/en/ndb-error-classifications.html). (Bug #22353594) Bugs Fixed * Removed an invalid assertion to the effect that all cascading child scans are closed at the time API connection records are released following an abort of the main transaction. The assertion was invalid because closing of scans in such cases is by design asynchronous with respect to the main transaction, which means that subscans may well take some time to close after the main transaction is closed. (Bug #23709284) * A number of potential buffer overflow issues were found and fixed in the NDB codebase. (Bug #23152979) * When a data node has insufficient redo buffer during a system restart, it does not participate in the restart until after the other nodes have started. After this, it performs a takeover of its fragments from the nodes in its node group that have already started; during this time, the cluster is already running and user activity is possible, including DML and DDL operations. During a system restart, table creation is handled differently in the DIH kernel block than normally, as this creation actually consists of reloading table definition data from disk on the master node. Thus, DIH assumed that any table creation that occurred before all nodes had restarted must be related to the restart and thus always on the master node. However, during the takeover, table creation can occur on non-master nodes due to user activity; when this happened, the cluster underwent a forced shutdown. Now an extra check is made during system restarts to detect in such cases whether the executing node is the master node, and use that information to determine whether the table creation is part of the restart proper, or is taking place during a subsequent takeover. (Bug #23028418) * Several object constructors and similar functions in the NDB codebase did not always perform sanity checks when creating new instances. These checks are now performed under such circumstances. (Bug #77408, Bug #21286722) * Cluster API: Reuse of transaction IDs could occur when Ndb objects were created and deleted concurrently. As part of this fix, the NDB API methods lock_ndb_objects() and unlock_ndb_objects are now declared as const. (Bug #23709232)
↧
MySQL Connector/C++ 2.0.3 m3 Development Release has been released (no replies)
Dear MySQL users, MySQL Connector/C++ 2.0.3 is the next development milestone of the MySQL Connector/C++ 2.0 series, and the first public release. Apart from covering more X DevAPI features, it adds a new, plain C API, called XAPI, that offers functionality similar to X DevAPI to applications written in plain C. Thus, not only can MySQL Connector/C++ be used to write C++ applications, as before. Now, using the XAPI, MySQL Connector/C++ can be used to write plain C applications to access MySQL Database implementing a document store as well as execute traditional plain SQL statements. For more information about XAPI, refer to the documentation at http://dev.mysql.com/doc/dev/connector-cpp/xapi_ref.html. To learn more about how to write applications using the X DevAPI, see X DevAPI User Guide ( http://dev.mysql.com/doc/x-devapi-userguide/en/ ). For more information about how to use Connector/C++ 2.0 and how the X DevAPI is implemented in it, see http://dev.mysql.com/doc/dev/connector-cpp/. Note The X DevAPI requires at least MySQL Server version 5.7.12 or higher with the X Plugin enabled. For general documentation about how to get started using MySQL as a document store, see Using MySQL as a Document Store ( http://dev.mysql.com/doc/refman/5.7/en/document-store.html ). To download MySQL Connector/C++ 2.0.3 m3, see the "Development Releases" tab at http://dev.mysql.com/downloads/connector/cpp/ X DevAPI Notes * New X DevAPI features added in this MySQL Connector/C++ release: + Methods for starting and controlling transactions + Using an X DevAPI URI or connection string to specify new session parameters + Capability of binding a session to the default shard and execute SQL statements there (using XSession.bindToDefaultShard()) + Methods for counting elements in a table or collection + Access to multiple result sets if present in a query result + Methods to count items in a result set and fetch a complete result set at once (using fetchAll()), instead of accessing items one by one (using fetchOne()) + Access to warnings reported when processing a statement (getWarnings()) + Access to information about affected rows, generated auto-increment values, and identifiers of documents added to a collection On Behalf of the MySQL/ORACLE RE Team
↧
↧
MySQL Enterprise Monitor 3.2.5 has been released (no replies)
We are pleased to announce that MySQL Enterprise Monitor 3.2.5 is now
available for download on the My Oracle Support (MOS) web site.
This is a maintenance release that includes a few enhancements and
fixes a number of bugs. You can find more information on the contents
of this release in the change log:
http://dev.mysql.com/doc/relnotes/mysql-monitor/3.2/en/news-3-2-5.html
(also included at the end of this note for convenience)
You will find binaries for the new release on My Oracle Support:
https://support.oracle.com
Choose the "Patches & Updates" tab, and then choose the "Product or
Family (Advanced Search)" side tab in the "Patch Search" portlet.
IMPORTANT: MySQL Enterprise Monitor (MEM) 3.3 offers many significant
improvements over MEM 3.2 and we highly recommend that you consider
upgrading. More information on MEM 3.3 is available here:
What's New in MySQL Enterprise Monitor 3.3
http://dev.mysql.com/doc/mysql-monitor/3.3/en/mem-comparison-3-2.html
MySQL Enterprise Monitor
http://www.mysql.com/products/enterprise/monitor.html
MySQL Enterprise Monitor Frequently Asked Questions
http://dev.mysql.com/doc/mysql-monitor/3.3/en/mem-faq.html
MySQL Enterprise Monitor Change History
http://dev.mysql.com/doc/relnotes/mysql-monitor/3.3/en/
Please open a bug or a ticket on My Oracle Support to report problems,
request features, or give us general feedback about how this release
meets your needs.
If you are not a MySQL Enterprise customer and want to try the Monitor
and Query Analyzer using our 30-day free customer trial, go to
http://www.mysql.com/trials, or contact Sales at
http://www.mysql.com/about/contact.
Useful URLs
* My Oracle Support - http://support.oracle.com/
* What's New in 3.2 - https://dev.mysql.com/doc/mysql-monitor/3.2/en/mem-comparison-3-2.html
* Change log - http://dev.mysql.com/doc/relnotes/mysql-monitor/3.2/en/
* Installation documentation - http://dev.mysql.com/doc/mysql-monitor/3.2/en/mem-installing.html
* Complete documentation - http://dev.mysql.com/doc/mysql-monitor/3.2/en/
* Product information - http://www.mysql.com/products/enterprise/monitor.html
* FAQs - http://dev.mysql.com/doc/mysql-monitor/3.2/en/mem-faq.html
* Download - http://support.oracle.com/
Thanks and Happy Monitoring!
- The MySQL Enterprise Tools Development Team
==========
Changes in MySQL Enterprise Monitor 3.2.5
Functionality Added or Changed
* Important Change: As of this release, it is not possible to use
MySQL Server 5.1 or 5.5 as the MySQL Enterprise Monitor repository.
The installer displays an error and the installation process stops.
* A new Monitoring and Support Services advisor, Duplicate Host
Identity is added. This advisor generates events if duplicate host
identities are discovered on the monitored network. This can be
caused by duplicated SSH keys or Windows SIDs. (Bug #24620458)
* The event status is now included in the body of the notification
mail. (Bug #24311586)
* The OpenSSL libraries used by the MySQL Enterprise Monitor
installers and MySQL Enterprise Monitor Aggregator have been
upgraded to 1.0.1u.
* The configuration menu item Event Handling was renamed Event
Handlers.
* The bundled JRE was updated to 1.8.0_102 for both the Agent and
Service Manager.
* The MySQL database, bundled with the MySQL Enterprise Service
Manager, has been upgraded to MySQL 5.6.34.
Bugs Fixed
* The Processes report did not properly report data from MySQL 5.7
instances. (Bug #24642042)
* The documentation did not specify the correct format for the ssl-ca-
keystore-path parameter. It was listed as a file path, but is a URL.
For example:
ssl-ca-keystore-path=file:///mysql/enterprise/agent/etc/mykeystore
(Bug #24386496)
* The Event Handler Asset column did not display any assets for the
eleventh handler created. That is, the Asset column correctly
displayed assets for the first 10 event handlers, but did not for
any other event handler. (Bug #23543149)
* Under certain circumstances, when monitoring MySQL 5.7, warnings
were generated in Query Analyzer due to a conflict between the
default mysql_mode and the mysql_mode set by MySQL Enterprise
Monitor. (Bug #23033046)
* The advice page generated by the MySQL Enterprise Backup Health
advisor contained broken links to the InnoDB chapters of the MySQL
Reference Manual. It also incorrectly referred to the --start-lsn
option as the --lsn option.
* The Overview page elements did not resize properly if the browser
window was resized.
* On certain browser versions, the symbol << was transformed to Â<<.
* Replication filter information was not collected. As a result, the
replica's Filter/Delay Status frame of the Source Replication Status
was not correctly populated.
available for download on the My Oracle Support (MOS) web site.
This is a maintenance release that includes a few enhancements and
fixes a number of bugs. You can find more information on the contents
of this release in the change log:
http://dev.mysql.com/doc/relnotes/mysql-monitor/3.2/en/news-3-2-5.html
(also included at the end of this note for convenience)
You will find binaries for the new release on My Oracle Support:
https://support.oracle.com
Choose the "Patches & Updates" tab, and then choose the "Product or
Family (Advanced Search)" side tab in the "Patch Search" portlet.
IMPORTANT: MySQL Enterprise Monitor (MEM) 3.3 offers many significant
improvements over MEM 3.2 and we highly recommend that you consider
upgrading. More information on MEM 3.3 is available here:
What's New in MySQL Enterprise Monitor 3.3
http://dev.mysql.com/doc/mysql-monitor/3.3/en/mem-comparison-3-2.html
MySQL Enterprise Monitor
http://www.mysql.com/products/enterprise/monitor.html
MySQL Enterprise Monitor Frequently Asked Questions
http://dev.mysql.com/doc/mysql-monitor/3.3/en/mem-faq.html
MySQL Enterprise Monitor Change History
http://dev.mysql.com/doc/relnotes/mysql-monitor/3.3/en/
Please open a bug or a ticket on My Oracle Support to report problems,
request features, or give us general feedback about how this release
meets your needs.
If you are not a MySQL Enterprise customer and want to try the Monitor
and Query Analyzer using our 30-day free customer trial, go to
http://www.mysql.com/trials, or contact Sales at
http://www.mysql.com/about/contact.
Useful URLs
* My Oracle Support - http://support.oracle.com/
* What's New in 3.2 - https://dev.mysql.com/doc/mysql-monitor/3.2/en/mem-comparison-3-2.html
* Change log - http://dev.mysql.com/doc/relnotes/mysql-monitor/3.2/en/
* Installation documentation - http://dev.mysql.com/doc/mysql-monitor/3.2/en/mem-installing.html
* Complete documentation - http://dev.mysql.com/doc/mysql-monitor/3.2/en/
* Product information - http://www.mysql.com/products/enterprise/monitor.html
* FAQs - http://dev.mysql.com/doc/mysql-monitor/3.2/en/mem-faq.html
* Download - http://support.oracle.com/
Thanks and Happy Monitoring!
- The MySQL Enterprise Tools Development Team
==========
Changes in MySQL Enterprise Monitor 3.2.5
Functionality Added or Changed
* Important Change: As of this release, it is not possible to use
MySQL Server 5.1 or 5.5 as the MySQL Enterprise Monitor repository.
The installer displays an error and the installation process stops.
* A new Monitoring and Support Services advisor, Duplicate Host
Identity is added. This advisor generates events if duplicate host
identities are discovered on the monitored network. This can be
caused by duplicated SSH keys or Windows SIDs. (Bug #24620458)
* The event status is now included in the body of the notification
mail. (Bug #24311586)
* The OpenSSL libraries used by the MySQL Enterprise Monitor
installers and MySQL Enterprise Monitor Aggregator have been
upgraded to 1.0.1u.
* The configuration menu item Event Handling was renamed Event
Handlers.
* The bundled JRE was updated to 1.8.0_102 for both the Agent and
Service Manager.
* The MySQL database, bundled with the MySQL Enterprise Service
Manager, has been upgraded to MySQL 5.6.34.
Bugs Fixed
* The Processes report did not properly report data from MySQL 5.7
instances. (Bug #24642042)
* The documentation did not specify the correct format for the ssl-ca-
keystore-path parameter. It was listed as a file path, but is a URL.
For example:
ssl-ca-keystore-path=file:///mysql/enterprise/agent/etc/mykeystore
(Bug #24386496)
* The Event Handler Asset column did not display any assets for the
eleventh handler created. That is, the Asset column correctly
displayed assets for the first 10 event handlers, but did not for
any other event handler. (Bug #23543149)
* Under certain circumstances, when monitoring MySQL 5.7, warnings
were generated in Query Analyzer due to a conflict between the
default mysql_mode and the mysql_mode set by MySQL Enterprise
Monitor. (Bug #23033046)
* The advice page generated by the MySQL Enterprise Backup Health
advisor contained broken links to the InnoDB chapters of the MySQL
Reference Manual. It also incorrectly referred to the --start-lsn
option as the --lsn option.
* The Overview page elements did not resize properly if the browser
window was resized.
* On certain browser versions, the symbol << was transformed to Â<<.
* Replication filter information was not collected. As a result, the
replica's Filter/Delay Status frame of the Source Replication Status
was not correctly populated.
↧
MySQL Workbench 6.3.8 GA has been released (no replies)
Dear MySQL users, The MySQL developer tools team announces 6.3.8 as our GA release for MySQL Workbench 6.3. For the full list of changes in this revision, visit http://dev.mysql.com/doc/relnotes/workbench/en/changes-6-3.html For discussion, join the MySQL Workbench Forums: http://forums.mysql.com/index.php?152 Download MySQL Workbench 6.3.8 GA now, for Windows, Mac OS X 10.9+, Oracle Linux 6 and 7, Fedora 23 and Fedora 24, Ubuntu 16.04 or sources, from: http://dev.mysql.com/downloads/tools/workbench/ Enjoy! Changes in MySQL Workbench 6.3.8 Bugs Fixed * Important Note: During normal operations, MySQL Workbench frequently and unexpectedly closed or became unresponsive. (Bug #24571739, Bug #82778) * Compiler errors were resolved with GCC 6.2.1. Thanks to Christian Hesse for the patch. (Bug #24842267, Bug #83372) * Using the ->> operator in a valid SQL statement within a stored procedure returned the following error: The object's DDL statement contains syntax errors. (Bug #24693021, Bug #83043) * The Columns tab of the table editor displayed an incorrect tooltip description for the G flag. (Bug #24558804) * For macOS, the table-partition model transposed column values leading to an incorrect CREATE TABLE statement. Thanks to Kit Yam Tse for the patch. (Bug #24517322, Bug #82716) * The migration script could not successfully convert UCS-2 strings to UTF-8 in a table when migrating the table from Microsoft SQL Server to MySQL Workbench. (Bug #23751080) * Database migration from Microsoft SQL Server 2000 emitted errors and stopped when the operation failed to locate the required schema list associated with the database version. (Bug #23747299, Bug #82069) * A CASE statement with WHEN clauses in a stored procedure emitted syntax errors. (Bug #23746795, Bug #82114) * On Windows, migrating a table with an empty string in a column of type ntext failed and displayed the "Could not successfully convert UCS-2 string to UTF-8 ..." error message. (Bug #23630604, Bug #81967) * When migrating a table with a column of type nvarchar(max) from Microsoft SQL Server, MySQL Workbench found the record to be bigger than the server max_allowed_packet value and failed to copy the record to the server. (Bug #23623191, Bug #81944) * The usage graph under InnoDB Status in the Performance Dashboard consistently underreported the actual usage of the InnoDB buffer pool as reported on the server. This fix implements a new formula to represent the InnoDB buffer pool. (Bug #23584042, Bug #81837) * Index comments were improperly generated within the index section of an SQL script when using the Forward Engineer SQL Script wizard to create and export the script. (Bug #19896276, Bug #74530) On behalf of the MySQL Workbench and the MySQL/ORACLE RE Team
↧
MySQL Connector/Python 2.0.5 GA has been released (no replies)
Dear MySQL users, MySQL Connector/Python 2.0.5 GA is a new GA version of 2.0 release series of the pure Python database driver for MySQL. It can be used for production environments. MySQL Connector/Python version 2.0.5 is compatible with MySQL Server versions 5.5 and greater. Python 2.6 and greater as well as Python 3.3 and greater are supported. Python 2.4, 2.5 and 3.1, 3.2 are not supported. MySQL Connector/Python 2.0.5 is available for download from: http://dev.mysql.com/downloads/connector/python/#downloads The ChangeLog file included in the distribution contains a brief summary of changes in MySQL Connector/Python 2.0.5. For a more complete list of changes, see below or online at: http://dev.mysql.com/doc/relnotes/connector-python/en/ Changes in MySQL Connector/Python 2.0.5 (2016-10-26) Bugs Fixed * A potential SQL injection vector was eliminated. (Bug #22529828, Bug #24816150) Documentation -------------------- The manual of MySQL Connector/Python is available online here: http://dev.mysql.com/doc/connector-python/en/index.html It is also available for download in various formats here: http://dev.mysql.com/doc/index-connectors.html Reporting Bugs -------------------- We welcome and appreciate your feedback and bug reports: http://bugs.mysql.com/ Enjoy ! On behalf of the MySQL Connector/Python and the MySQL/ORACLE RE Team Hery Ramilison
↧
MySQL Connector/NET 7.0.6 m5 development has been released (no replies)
Dear MySQL users, MySQL Connector/Net 7.0.6 is the third development release that expands cross-platform support to Linux and OS X when using Microsoft's .NET Core framework. Now, .NET developers can use the X DevAPI with .NET Core and Entity Framework Core (EF Core) 1.0 to create server applications that run on Windows, Linux and OS X. We are very excited about this change and really look forward to your feedback on it! MySQL Connector/Net 7.0.6 is also the fifth development release of MySQL Connector/Net to add support for the new X DevAPI. The X DevAPI enables application developers to write code that combines the strengths of the relational and document models using a modern, NoSQL-like syntax that does not assume previous experience writing traditional SQL. To learn more about how to write applications using the X DevAPI, see http://dev.mysql.com/doc/x-devapi-userguide/en/index.html. For more information about how the X DevAPI is implemented in Connector/Net, see http://dev.mysql.com/doc/dev/connector-net. Please note that the X DevAPI requires at least MySQL Server version 5.7.12 or higher with the X Plugin enabled. For general documentation about how to get started using MySQL as a document store, see http://dev.mysql.com/doc/refman/5.7/en/document-store.html. To download MySQL Connector/Net 7.0.6 M5, see the "Development Releases" tab at http://dev.mysql.com/downloads/connector/net/ Changes in MySQL Connector/Net 7.0.6 (2016-10-28) * Functionality Added or Changed * Bugs Fixed Functionality Added or Changed * X DevAPI: The SessionConfig class, SessionConfigManager class, and IpersistenceHandler interface were added for session-configuration management to represent all the information associated with a session. * EF Core: Added all-platform compliance support for the .NET Framework stack (Console, WPF, WinForms, and ASP.NET) and compatibility with ASP.NET 5 when using the .NET Framework or .NET Core version. * Added the following functionality for saving changes in EF Core: + Basic save operation to persist entity-instance changes to the database. + Optimistic concurrency to protect against overwriting changes made by another user after data was fetched from the database. Bugs Fixed * EF Core: A missing function used when a model is added or changed caused the migration generation to fail. MySQLHistoryRepository now implements get_existssql(). (Bug #24804771) * EF Core: An SQL syntax error was emitted when the Contains operator was used in the Where predicate of a LINQ query. This fix requires the use of EF Core version 1.1 or later. (Bug #24797524) * An Entity Framework DbContext object created with a column of type DateTimeOffset returned an error indicating that DateTimeOffset values were incompatible with DateTime and Timestamp values. (Bug #24732001) * X DevAPI: The GetCollections(), GetTable(), and GetTables() methods threw System.InvalidOperationException: name is not a valid column name in the row. (Bug #24385662) Nuget packages are available at: https://www.nuget.org/packages/MySql.Data/7.0.6-IR3 https://www.nuget.org/packages/MySql.Web/7.0.6-IR3 https://www.nuget.org/packages/MySql.Data.Entity/7.0.6-IR3 https://www.nuget.org/packages/MySql.Data.EntityFrameworkCore/7.0.6-IR3 Enjoy and thanks for the support! On behalf of the MySQL Release Engineering Team Prashant Tekriwal
↧
↧
MySQL Connector/Node.js 1.0.5 m4 Development Release has been released (no replies)
Dear MySQL users, MySQL Connector/Node.js is a new Node.js driver for use with the X DevAPI. This release, v1.0.5 M4, is the fourth development release of the MySQL Connector/Node.js 1.0 series. The X DevAPI enables application developers to write code that combines the strengths of the relational and document models using a modern, NoSQL-like syntax that does not assume previous experience writing traditional SQL. To learn more about how to write applications using the X DevAPI, see http://dev.mysql.com/doc/x-devapi-userguide/en/. For more information about how the X DevAPI is implemented in MySQL Connector/Node.js, and its usage, see http://dev.mysql.com/doc/dev/connector-nodejs/. Please note that the X DevAPI requires at least MySQL Server version 5.7.12 or higher with the X Plugin enabled. For general documentation about how to get started using MySQL as a document store, see http://dev.mysql.com/doc/refman/5.7/en/document-store.html. Changes in MySQL Connector/Node.js 1.0.5 (Milestone 4) Functionality Added or Changed * Added APIs for Transaction handling. * Added a Table creation API. Enjoy and thanks for the support!
↧
MySQL Router 2.0.4 has been released (no replies)
Dear MySQL users, A new GA (general availability) version of MySQL Router has been made available: MySQL Router 2.0.4 GA. The MySQL Router is a new building block for high availability solutions. MySQL Router simplifies development of high availability applications by intelligently routing queries to MySQL Servers for increased performance, robustness, and uptime. MySQL Router also connects seamlessly with MySQL Fabric permitting Fabric to manage the high availability groups for the router, supporting monitoring and automatic management of MySQL servers for redundancy and continued operation. You can download MySQL Router from http://dev.mysql.com/downloads/router. Package binaries are available for several platforms and also as a source code download. If you are a commercial customer, MySQL Router is available via the MySQL Oracle Support (MOS) website. Packages will be available on eDelivery at the next monthly refresh. Documentation for MySQL Router can be found at http://dev.mysql.com/doc/mysql-router/en/ Enjoy! Changes in MySQL Router 2.0.4 (2016-11-23, General Availability) Functionality Added or Changed * The unused ip_from_addrinfo() function was removed. (Bug #22811176) * Windows support was added. Binaries are now available for download, and several Router command line options were added to configure a Windows service for MySQL Router. The new command line options on Windows are --install-service (service starts automatically), --install-service-manual (service can be started manually), --remove-service (removes a service), and --service (starts a service). The service name is MySQLRouter. For additional information about these options, see Starting the Router (http://dev.mysql.com/doc/mysql-router/en/mysql-router-se rver-starting.html). Bugs Fixed * The RPATH for executable and shared libraries did not contain both the router library path and the router plugin library path. (Bug #24763533) * The RPATH was incorrect in the executable for RPM builds. The plugin_folder path cannot be set to a value not present in the executable, and the paths should be used for variable interpolation, not to control where plugins are found. The error was similar to "Error: mysql_protocol.so: cannot open shared object file: No such file or directory". Additionally, the INSTALL_LIBDIR was incorrectly used, which also resulted in path related errors. (Bug #24669798, Bug #24695503) * When writing packets read from the sender (client or server) to the receiver, if a single write() call did not write all requested data, the whole buffer was written in another attempt. Now, only the remaining part of the buffer gets written. (Bug #24578638) * The SO version for libmysqlharness was 0, which is usually reserved for pre-release versions. The SO version was changed to 1, so the library file name changed from libmysqlharness.so.0 to libmysqlharness.so.1. (Bug #24557123) * On OS X, linking Router to Fabric would fail to function by default due to linking problems. (Bug #24527866, Bug #80376) * The read-write mode (which uses the first-available mode schedule) could reconnect to the first listed server (destination) after failing to connect to all listed servers. Instead, it now always behaves as documented, which is to not reconnect after all destinations failed to connect. If a reconnection is desired, then use the read-only mode instead, which implements the round-robin schedule. (Bug #24367453) * Backslashes in configuration definitions, such as file paths, could escape characters. (Bug #24360999) * On OS X, Router could fail due to RPATH related issues. CMake now uses -DWITH_STATIC=yes for OS X when executing cmake for the binaries. (Bug #23507484) * When the max_connect_errors variable was set to the maximum possible value (highest boundary value of 4294967295), connection errors would report the value as a negative value, such as -1. (Bug #22745790) * There was inconsistent behavior with connection handling in relation to the max_connections setting. Now, the counter is incremented before the thread is spawned in the Routing plugin, because getting the server socket takes time and client connections could have been accepted after the max number of connections was reached. (Bug #22705168) * An exception thrown inside a plugin would cause the process to be terminated unconditionally. (Bug #22546709, Bug #79983) On behalf of Oracle MySQL Release Team -Sreedhar S
↧
MySQL Cluster Manager 1.4.1 has been released (no replies)
Dear MySQL Users,, MySQL Cluster Manager 1.4.1, has been released and can be downloaded from the My Oracle Support (MOS) website. It will also be available on Oracle Software Delivery Cloud at http://edelivery.oracle.com with the next monthly update MySQL Cluster Manager is an optional component of the MySQL Cluster Carrier Grade Edition, providing a command-line interface that automates common management tasks, including the following online operations: - Configuring and starting MySQL Cluster - Upgrades - Adding and removing cluster nodes - Adding and removing site hosts - Configuration changes - Backup and restore MySQL Cluster Manager is a commercial extension to the MySQL family of products. More details can be found at http://www.mysql.com/products/cluster/mcm/ A brief summary of changes in MySQL Cluster Manager version 1.4.1 is listed below: Changes in MySQL Cluster Manager 1.4.1 (2016-11-24) This section documents all changes and bug fixes that have been applied in MySQL Cluster Manager 1.4.1 since the release of MySQL Cluster Manager version 1.4.0. Functionality Added or Changed * Microsoft Windows: A 64-bit Windows installer package for MySQL Cluster Manager is now available. * Agent: Quotes used in specifying an mcmd option (http://dev.mysql.com/doc/mysql-cluster-manager/1.4/en/mc m-configuration-commands.html) were interpreted literally as parts of the option value. With this fix, mcmd now handles the quotes properly for the following options by stripping the quotes before interpreting the option values: + --basedir + --pid-file + --plugin-dir + --log-file + --manager-username + --manager-password + --manager-directory (Bug #24529142) * Agent: When an mcmd agent failed to shutdown a mysqld node, it kept on retrying until the process timed out, at which point the error code from mysqld was returned to the client. With this fix, the error is returned immediately after the first shutdown attempt has failed. (Bug #24418005) * Agent: After a start process --added command was executed, if a show status --operational command was then run, in the Command column of the output, the ID for only one of the added nodes was shown even if multiple nodes had been added and started. With this fix, nodeids are no longer shown in the command output in that case, to avoid any possible confusions. (Bug #24372861) * Agent: The restore cluster command now supports a new option, --promote-attributes, which allows attributes to be promoted when MySQL Cluster Manager restores data from a backup. (Bug #24295481) * Agent: The collect logs command now also collects trace files, to provide more information in the event of a cluster failure. (Bug #23746394) * Agent: Information that is unrelated to debugging is no longer included into the agent log when --log-level is set to debug, but is included when --log-level is set to info. (Bug #23716969) * Agent: The capability for MySQL Cluster Manager to set the cluster parameter ndbinfo_table_prefix has been removed, as setting it might cause a timeout when mcmd tries to start a mysqld node. (Bug #23632067) * Agent: The import cluster command now supports the import of cluster nodes that have been started with options specified on the command line using underscores (_) instead of dashes (-) in the option names (for example, --ndb_connectstring instead of --ndb-connectstring). (Bug #23535372) * Agent: The --initial option can now be used with the start cluster command for starting clusters in the "created" status. (Bug #23138442) * Agent: The timer in mcmd is now monotonic, so interval measures are no longer affected by clock changes on the host. (Bug #22699245) * Agent: The version number for the mcmd agent and the name of the host it is running on are now always recorded in the agent log (mcmd.log) at startups or log rotations, irrespective of the --log-level setting. (Bug #22616530) * Agent: The backup cluster command now creates a logical backup for the metadata of the NDB tables in a MySQL Cluster, allowing more flexibility for cluster reconfiguration during a restore. See the description for backup cluster for more details. (Bug #21200829) * Agent: The --backupid option can now be used with the list backups command to specify the ID of the backup to be listed. * Client: Execution of the .mcm file created by the import config --dryrun command failed when a relative file path was given for a file-path attribute to be imported for a mysqld node. The mcm client now accepts relative file paths for those attributes, except for the socket value, and for any paths for a directory value (for example, plugin_dir). (Bug #18650848) * Client: Creating a single-host site with localhost as the argument for --hosts now results in a site that cannot be scaled up by the add hosts command; a warning for that is given by the mcm client at the creation of the site. See the description for the create site command for details. (Bug #18389510) * MySQL Cluster Manager now supports MySQL Cluster 7.5. At the same time, support for MySQL Cluster 7.2 has been deprecated. (Bug #24940329) Bugs Fixed * Agent: When the backup agents command failed to copy some files, it finished without erroring out, but caused the subsequent mcmd agent restart to fail. This fix adds proper error-handling function to the backup agents command. (Bug #25057056) * Agent: When a start cluster or stop cluster command was run, if it took more than two minutes for any data node to be started or stopped, the mcmd agent threw a timeout for the command, and sometimes did that more than once, even though the data node was still in a normal process of being started or stopped. It was because the timeout extension needed was never granted within two minutes. With this fix, a timeout extension is granted at a much earlier time, and the amount of the extension is calculated based on the cluster's DataMemory size. (Bug #24749459) * Agent: When mcmd failed to create the users it needs on a mysqld node, it just kept retrying until a timeout was reached, and without notifying the mcm client. With this fix, a failure is declared immediately to the client in the situation, and there are no more retries. (Bug #24511041) * Agent: After a failure by mcmd to configure a cluster, the progress message from the process caused the next attempt to configure the cluster to fail. With this fix, the progress message from the last attempt only causes a warning to be issued to the agent log, and is then ignored. (Bug #24499097) * Agent: Attempts to upgrade MySQL Cluster Manager to version 1.4.0 by starting the 1.4.0 executables on pre-1.4 data failed, as the automatic upgrades for backup configurations were not successful. (Bug #24433400) * Agent: mcmd exited unexpectedly after failing to parse correctly a message of an unexpected format from a mysqld node. With this fix, sanity check is performed on the received message first, in order to avoid parsing the wrong information out of it. (Bug #24430610) * Agent: When attempting to set a global system variable on a mysqld node, the mcmd agent always returned a success message, even if it failed to contact the mysqld node actually. (Bug #24417856) * Agent: When running the list backups command, if one of the mcmd agents ran into permission errors on some of the backups' file paths, the returned results for the command became incomplete. With this fix, complete results are returned in those situations. (Bug #24414682) * Agent: When the mcm client and the mcmd agent it connected to were on the same host whose loopback address was not 127.0.0.1, if the host's name or loopback address was not explicitly contained in the host list in the create site command, attempts to restart the cluster later would fail with the complaint that the host name for the agent could not be resolved in the host list. With this fix, a warning is given in the situation when the create site command is issued, asking the user to include the proper host name. (Bug #24411504) * Agent: mcmd sometimes failed to report errors for its executions of SQL statements to the mcmd log. This fix tries to ensures that those errors are captured. (Bug #24375344) * Agent: When an add package command failed due to an error in loading the cluster configuration, mcmd exited unexpectedly on Windows platforms, and falsely reported that the package was added successfully on Unix-like platforms. (Bug #24361901) * Agent: When mcmd failed to write to the configuration file config.ini or my.cnf, mcmd either quit unexpectedly (for most Unix-like platforms), or returned a success message without actually writing to the file (on Solaris). (Bug #23632067) * Agent: When a configuration parameter was imported from a mysqld node using the import config command, the value got truncated when it was a quoted value containing a hash sign and was followed by a comment when listed inside the configuration file. (Bug #23591849) * Agent: On Windows platforms, the value for the system variable wait_timeout for mysqld nodes cannot be made larger than "2147483" using the set command. (Bug #23503256) * Agent: On Windows platforms, the import cluster command failed when a 32-bit mcmd was working a 64-bit MySQL Cluster, or vice versa. (Bug #23503256) * Agent: The import config --dryrun command produced set commands of wrong syntax for instance-level TCP configuration settings specified inside the config.ini file. (Bug #23341146) * Agent: When NoOfReplicas was "4" for a cluster and only one forth of all the data nodes were available, mcmd reported that the cluster was "non-operational" when the show status --cluster command was run. (Bug #23330032) * Agent: mcmd ignored status update from an ndbapi (or unmanaged mysqld) node when it reported an LSN lower than one already reported by some other agent. This was due to an unnecessary check on the reported LSNs, which has been removed by this fix. (Bug #23320387) * Agent: When working with MySQL Cluster 7.5, resetting the Datadir parameter for a mysqld node using a reset command caused an error when the default data directory had contents inside. (Bug #23283577) * Agent: The command start process --added failed with the error "Unable to create nodegroup ..." when the parameter NoOfReplicas was set to "3" or "4." (Bug #23257723) * Agent: Some ndbmtd processes were being excluded from rolling restarts when the parameter NoOfReplicas was set to "3" or "4." (Bug #23251630) * Agent: With the parameter NoOfReplicas set to "3" or "4," even when there was still one mirror node left in a nodegroup for a ndbmtd process, the stop process command issued for the ndbmtd node was rejected by mcmd. (Bug #23250053) * Agent: When a quorum of majority of mcmd agents no longer existed (due to, for example, a network failure), an mcmd agent reported wrong statuses of failed processes even when those processes were local to its own host and were accessible by the agent. (Bug #23222658) * Agent: When network connection to a host with a data node running was lost and then reestablished, the show status command reported falsely that the data node was running again even though it had actually stopped. This fix makes sure the current status of the data node is properly reflected. (Bug #23220981) * Agent: When there was a failure in setting the value of the parameter LogDestination, mcmd, when returning an error, also issued sometimes a warning that an earlier runtime error had been overwritten. This is now prevented by putting in proper checking and handling for any existing error as a new error is being thrown. (Bug #23211849) * Agent: If a warning was returned by mcmd after it executed a SET GLOBAL statement to a mysqld node, the same warning was issued to the agent log (mcmd.log) again and again each time a new SET GLOBAL statement was executed. (Bug #23211783) * Agent: When the parameter ArbitrationRank was being set for a mysqld node, the data nodes and management nodes were not restarted, so they had no knowledge that the arbitration rank for the mysqld node has been changed. (Bug #23148368) * Agent: After a failed execution of the import config command using an older version of MySQL Cluster Manager, if MySQL Cluster Manager was then upgraded, restarting would fail afterward for some of the mcmd agents. (Bug #23148061) * Agent: In the case where there was only one ndb_mgmd node in a cluster, during a rolling restart, after the ndb_mgmd node was just restarted and a first data node was stopped, a second data node might fail before it got restarted, complaining that there was no arbitrator for the cluster. It was because the management node was still in the process of asserting itself as an arbitrator. With this fix, the restarting of data nodes only begin after they have all seen an arbitrator established. (Bug #23148061) * Agent: A new ndbd or ndbmtd node could not be added to a cluster if BackupDataDir specified a non-default location for cluster backups, and there were backups existing at that location. (Bug #23123364) * Agent: When already existing nodes were added again to a cluster without being started and the cluster was stopped, a subsequent start cluster --initial command failed. This was because mcmd attempted to recreate the already existing node groups, which this fix prevents. (Bug #23024367) * Agent: While the my.cnf configuration files for added mysqld processes generated by mcmd used group suffixes for group titles in the files (for example [mysqld.50]), the mysqld nodes were started without using the --defaults-group-suffix option, causing the generated configurations to be unread by the mysqld node. With this fix, the group suffixes are no longer used. (Bug #22931198) * Agent: On Windows platforms, an mcmd agent quit unexpectedly after it was unable to open a process handler to a PID. This fix makes mcmd able to handle the situation and not quit. (Bug #22886512) * Agent: During the time when an upgrade cluster command is being performed, if a mysqld node that had not yet been upgraded failed somehow, it was mistakenly restarted with the newer instead of the older binary package. With this fix, the node is restarted with the original binary package it was running on. (Bug #22880634) * Agent: Under some conditions, setting a configuration attribute for a cluster using the set command made mcmd quit unexpectedly, as more than one thread in MySQL Cluster Manager tried to change the cluster configurations together within a very short period of time, with one thread running into a checksum error for the repository directory and causing the agent to quit. This fix adds error checks, retries, and also exponential backoffs to handle the situation, in order to allow proper execution of the set command. (Bug #22865068) * Agent: A restore cluster command failed because one of the management nodes in the cluster was in the "starting" status, which should not prevent a cluster from being restored. (Bug #22755257) * Agent: When the start process --added command was used to start data nodes that were newly added, the command failed if there was an ndbapi node that was in the "connected" status, with the complaint that the ndbapi node was "already running." (Bug #22726592) * Agent: If an earlier attempt to stop a mysqld node failed and left the node in a status of "stopping," a subsequent stop cluster command failed with a timeout. With this fix, the stop cluster command actually reattempts twice the shutdown of the "stopping" process, and throws a proper error if the attempts fail. The timeout period for each attempt is also reduced to 5 seconds. (Bug #22682222, Bug #24735542) References: See also: Bug #19805950. * Agent: When performing a create cluster command for a large cluster with many processes, mcmd tried to resolve the host name and check the validity of the package name for every single process, which could take a long time and cause the create cluster command to fail with a timeout. mcmd now avoids repeated lookups for the same host name or package name, so the timeouts are prevented. (Bug #22671177) * Agent: When a backup was actually completed after an abort backup command had just been issued through the mcmd agent, the agent failed to respond to the backup completion, resulting in a timeout for the abort backup command. With this fix, the abort backup command will error out under the situation. (Bug #22655696) * Agent: When setting a value for the log_error attribute for a mysqld node using the set command, mcmd failed to, as expected, append the extension .err to the supplied file name when it did not have an extension. (Bug #22588267) * Agent: The mysql client hung as a status command was issued through it to a mysqld node, due to some communication packages remaining unhandled by mcmd. (Bug #22539167) * Agent: The autotune --dryrun command did not write to the .mcm script file the TCP connection attributes (for example, SendBufferMemory and ReceiveBufferMemory) it would set for the cluster when the --dryrun option was not used. (Bug #22517603) * Agent: With two clusters running separately on two different hosts in the same site, the autotune --dryrun command for a cluster failed with an internal error, complaining that a dump file [for the other cluster running on the other host] could not be opened because it did not exist on the host---which was to be expected. (Bug #22465053, Bug #79586) * Agent: If a cluster log rotation happened while MySQL Cluster Manager was starting the cluster, an mcmd agent failure would occur. This fix makes sure log rotation is properly detected and handled by mcmd. (Bug #22296243) * Agent: If distributed privileges for mysqld nodes were used and the root password has been set on the cluster's mysqld nodes, after a new mysqld process was added, MySQL Cluster Manager failed to connect to it, as mcmd tried in vain to log on to the new mysqld node as root with an empty password. With this fix, mcmd then attempts in that situation to log on to the node as the user mcmd. Also, even if the root account is not secured, when distributed privileges are used, mcmd now attempts first to connect to a new mysqld node as mcmcd before it tries to create the mcmd user on the new node. (Bug #22274785, Bug #81391) * Agent: For MySQL Cluster 7.4.8 and later, the import config command imported the deprecated PortNumber attribute under the [tcp] section of the cluster configuration file as "0.". The attribute is now skipped during a configuration import. (Bug #22274785) * Agent: A create cluster command failed with an error when one of the mcmd agents was down, even if that agent was not needed for the process. (Bug #22245706) * Agent: When the utility mysql_install_db was run by the mcmd agent at the creation of a mysqld node, it was not run asynchronously, resulting sometimes in unnecessary delay for other mcmd processes. With this fix, the utility is now run asynchronously. (Bug #22238508) * Agent: After a new host has been added to a cluster without a package being added for it, mcmd returned an error message to any get and set command, saying that the parameter to be get or set did not exist. With this fix, a proper error message is returned. (Bug #21894353) * Agent: On Windows platform, setting the datadir option for a mysqld node in the Windows file path format caused the mcmd agent to stop unexpectedly after it failed to restart the mysqld node. It was due to a mishandling of the Windows format file path, which has now been fixed. (Bug #19209870) * Agent: A rolling restart of the cluster performed by mcmd timed out while waiting for GCP and LCP takeover events to complete among the data nodes. With this fix, the timeout is avoided by having mcmd check for the status of the takeover events and wait until the involved data nodes are ready before trying to stop them. (Bug #14230789) * Client: Spaces in quoted option values for MySQL Cluster Manager were lost (for example, with "--prompt='mcm1.4.1> '," the prompt for the mcm client became "mcm1.4.1>" [with no space at the end]). (Bug #24528495) * Client: When the mcm client was being started with the --debug option, if the mysql client could not be found at the expected location, the mcm client failed with a segmentation fault. (Bug #24522244) * Client: The success messages returned by the autotune --dryrun and import config --dryrun commands referred users to the agent log file for the proposed settings to be applied to the cluster, but the settings were not actually in the file. The success messages now give the path to the .mcm script file that contains the settings. (Bug #22280689) * Client: After the mcmd agent on a certain host failed, the mcm client continued to report the statuses of the processes on the host to "running" while the mcmd agent log and the ndb_mgmd queries already showed their statuses to be "unknown.". (Bug #22174415) On behalf of the Oracle MySQL RE Team - Sreedhar S
↧
MySQL Connector/Python 2.2.2 m3 Development Release has been released (no replies)
Dear MySQL users, MySQL Connector/Python 2.2.2 M3 is the third development release of the MySQL Connector Python 2.2 series. This series adds support for the new X DevAPI. The X DevAPI enables application developers to write code that combines the strengths of the relational and document models using a modern, NoSQL-like syntax that does not assume previous experience writing traditional SQL. To learn more about how to write applications using the X DevAPI, see http://dev.mysql.com/doc/x-devapi-userguide/en/. For more information about how the X DevAPI is implemented in MySQL Connector/Python, and its usage, see http://dev.mysql.com/doc/dev/connector-python. Please note that the X DevAPI requires at least MySQL Server version 5.7.12 or higher with the X Plugin enabled. For general documentation about how to get started using MySQL as a document store, see http://dev.mysql.com/doc/refman/5.7/en/document-store.html. To download MySQL Connector/Python 2.2.2 M3, see the "Development Releases" tab at http://dev.mysql.com/downloads/connector/python/ We are working on the github upload, it should be available soon. Enjoy! Changes in MySQL Connector/Python 2.2.2 (2016-12-01, Milestone 3) * Functionality Added or Changed * Bugs Fixed Functionality Added or Changed * If the MySQL server is configured to support secure connections, Connector/Python now attempts to establish a secure (encrypted) connection by default, falling back to an unencrypted connection otherwise. This is behavior similar to the --ssl-mode=PREFERRED option supported by MySQL client programs. The following TLS/SSL options have been implemented for the mysqlx URI schema. All require Python 2.7.9 or higher. + ssl-enable: This option enforces SSL connections. If given, a connection attempt must be able to establish a secure connection or the attempt fails. + ssl-ca: This option is used to verify the server certificate. + ssl-cert, ssl-key: These options are used to pass the client certificate and key, but the server currently does not validate the client using these. The ssl-enable parameter can be specified in a parameter dictionary or URL, like this: mysqlx.get_session({"user": "root", "host": "localhost", "port": 33060, "password": "pass", "ssl-enable": True}) Or: mysqlx.get_session("mysqlx://root:pass@localhost?ssl-enable") The other parameters are used similarly. In a URL, path name values should be given within parentheses; for example, ssl-cert=(path_name). (Bug #24954646) * There is now a standard API to create a table: Schema objects have a create_table function. It throws an error if the table exists. * For any method that takes a value list of parameters for its argument, there is now more flexibility with how the parameters can be specified: Either as a value list or a list of individual parameters. For example, these method calls are the same: Collection.add([{"a": 27}, {"a": 28}]) Collection.add({"a": 27}, {"a": 28}) * For Schema objects, get_view, create_view, alter_view, and drop_view functions were added to support retrieval, create, alter, and drop operations on View objects. * Unix domain socket files are now supported as a connection transport. The socket file can be specified in a parameter dictionary or URL, like this: mysqlx.get_session({"user": "root", "password": "pass", "socket": "/path/to/socket"}) Or: mysqlx.get_session("mysqlx://user:pass@(/path/to/sock)/schema") mysqlx.get_session("mysqlx://user:pass@/path%2Fto%2Fsock/schema") mysqlx.get_session("mysqlx://user:pass@.%2Fpath%2Fto%2Fsock/schema") mysqlx.get_session("mysqlx://user:pass@..%2Fpath%2Fto%2Fsock/schema") Bugs Fixed * For a user created with REQUIRE SSL, establishing an SSL connection by specifying --ssl-key but not --ssl-ca or --ssl-cert fails for standard MySQL client programs. The same connection configuration was (improperly) permitted in Connector/Python. (Bug #24953032) * Connection failures due to an improper SSL CA resulted in an uninformative error message. (Bug #24948054) * Using a schema object to alter a view failed if the view selected from a non-INFORMATION_SCHEMA table and it was altered to select from an INFORMATION_SCHEMA table. (Bug #24947078) * schema.create_collection() with an empty collection name threw an improper error. (Bug #24520850) Documentation -------------------- Online:http://dev.mysql.com/doc/connector-python/en/index.html The source distribution includes the manual in various formats under the docs/ folder. Reporting Bugs -------------------- We welcome and appreciate your feedback and bug reports: http://bugs.mysql.com/ On Behalf of the MySQL/ORACLE RE Team, Balasubramanian Kandasamy
↧
↧
MySQL Connector/NET 6.10.0 alpha has been released (no replies)
Dear MySQL users, MySQL Connector/Net 6.10.0 alpha is the first release to provide Entity Framework Core 1.1 support and to enable compression in the .NET Core version of the driver for enhanced cross-platform application development. To download MySQL Connector/Net 6.10.0 alpha, see the "Development Releases" tab at http://dev.mysql.com/downloads/connector/net/ Changes in MySQL Connector/Net 6.10.0 (2016-12-09, Alpha) Known limitation of this release: DbContext within an application can emit an unhandled exception. Due to this limitation, MySQL Connector/Net 6.9.9 is the preferred version to use with EF6. Functionality Added or Changed * Support for compression was extended to the .NET Core version of the driver. * Added support for Entity Framework (EF) Core 1.1. Nuget packages are available at: https://www.nuget.org/packages/MySql.Data/6.10.0-alpha https://www.nuget.org/packages/MySql.Web/6.10.0-alpha https://www.nuget.org/packages/MySql.Data.Entity/6.10.0-alpha https://www.nuget.org/packages/MySql.Data.EntityFrameworkCore/6.10.0-alpha Enjoy and thanks for the support! On behalf of the MySQL Release Team Prashant Tekriwal
↧
MySQL Community Server 5.6.35 has been released (no replies)
Dear MySQL users, MySQL Server 5.6.35, a new version of the popular Open Source Database Management System, has been released. MySQL 5.6.35 is recommended for use on production systems. For an overview of what's new in MySQL 5.6, please see http://dev.mysql.com/doc/refman/5.6/en/mysql-nutshell.html Starting with 5.6.11, Microsoft Windows packages for MySQL 5.6 are available both as a "full" installer and as a "web" installer. The full installer is significantly larger and comes bundled with the latest software releases available. This bundle makes it easy to download and configure a full server and development suite. The web installer doesn't come bundled with any actual products and instead relies on download-on-demand to fetch only the products you choose to install. This makes the initial download much smaller but increases install time as the individual products will need to be downloaded. For information on installing MySQL 5.6.35 on new servers or upgrading to MySQL 5.6.35 from previous MySQL releases, please see http://dev.mysql.com/doc/refman/5.6/en/installing.html MySQL Server is available in source and binary form for a number of platforms from our download pages at http://dev.mysql.com/downloads/ Not all mirror sites may be up to date at this point in time, so if you can't find this version on some mirror, please try again later or choose another download site. We welcome and appreciate your feedback, bug reports, bug fixes, patches, etc: https://wikis.oracle.com/display/mysql/Contributing The following section lists the changes in the MySQL 5.6 since the release of MySQL 5.6.34. It may also be viewed online at http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-35.html Enjoy! Changes in MySQL 5.6.35 (2016-12-12) * MySQL Enterprise Notes * Security Notes * Functionality Added or Changed * Bugs Fixed 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 (http://dev.mysql.com/doc/refman/5.6/en/enterprise-encryption-usage.html). (Bug #19687742) 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. (Bug #24483092, Bug #25088048) References: See also: Bug #24464380, Bug #24388753. * 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 (http://dev.mysql.com/doc/refman/5.6/en/connection-control-plugin.html). * OpenSSL is ending support for version 1.0.1 in December 2016; see https://www.openssl.org/policies/releasestrat.html. 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, see https://www.openssl.org/news/vulnerabilities.html. 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. (Bug #23333990) * Unit testing now uses Google Mock 1.8. (Bug #24572381, Bug #82823) Bugs Fixed * Incompatible Change: A change made in MySQL 5.7.8 for handling of multibyte character sets by LOAD DATA was reverted due to the replication incompatibility (Bug #24487120, Bug #82641) References: See also: Bug #23080148. * 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 (GCC Bug #77673). A workaround prevents this behavior. Thanks to Laurynas Biveinis for the patch. (Bug #24707869, Bug #83073) * InnoDB: Due to a glibc bug, short-lived detached threads could exit before the caller had returned from pthread_create(), causing a server exit. Thanks to Laurynas Biveinis for the patch. (Bug #24605956, Bug #82886) * 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. (Bug #24444831) * 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. (Bug #24397406) * InnoDB: InnoDB failed to free memory used by the full-text optimizer thread. (Bug #24331265) * InnoDB: SHOW ENGINE INNODB STATUS output showed a "cleaning up" state for an idle thread. Thread state information was not reset after statement execution. (Bug #21974225, Bug #78777) * 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. (Bug #20989615, Bug #76872) * 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). (Bug #22916743) * Replication: Enabling semisynchronous replication when a server was during the commit stage could cause the master to stop unexpectedly. This was related to the patch for Bug# 75570. (Bug #22202516) * Replication: The fix for Bug #81657 was correctly merged into MySQL 5.6. (Bug #83124, Bug #24715790) * Some Linux startup scripts did not process the datadir setting correctly. (Bug #25159791) * CREATE TABLE with a DATA DIRECTORY clause could be used to gain extra privileges. (Bug #25092566) * 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. (Bug #24925181, Bug #83457) * Compiling MySQL using Microsoft Visual Studio 2015 Version 14.0.25420.1 in relwithdebinfo mode failed with linking errors. (Bug #24748505) * Warnings occurring during CREATE TABLE ... SELECT could cause a server exit. (Bug #24595992) * For segmentation faults on FreeBSD, the server did not generate a stack trace. (Bug #24566529, Bug #23575445, Bug #81827) * 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. (Bug #24557925) * 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. (Bug #24496214) * The data structure used for ZEROFILL columns could experience memory corruption, leading eventually to a server exit. (Bug #24489302) * 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. (Bug #24400628, Bug #82429) * On Solaris, gettimeofday() could return an invalid value and cause a server shutdown. (Bug #23499695) * A union query resulting in tuples larger than max_join_size could result in a server exit. (Bug #23303485) * The optimizer could choose ref access on a secondary index rather than range access on the primary key, even when the cost was higher. (Bug #23259872, Bug #81341) * For some deeply nested expressions, the optimizer failed to detect stack overflow, resulting in a server exit. (Bug #23135667) * When taking the server offline, a race condition within the Performance Schema could lead to a server exit. (Bug #22551677) * 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. (Bug #22320066, Bug #79533) * 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. (Bug #19635706, Bug #24469860) * 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. (Bug #76351, Bug #20720615, Bug #22558597, Bug #80014) * Miscalculation of memory requirements for qsort operations could result in stack overflow errors in situations with a large number of concurrent server connections. (Bug #73979, Bug #19678930, Bug #23224078) On Behalf of MySQL Release Engineering Team, Nawaz Nazeer Ahamed
↧
MySQL Community Server 5.7.17 has been released (no replies)
Dear MySQL users, MySQL Server 5.7.17, a new version of the popular Open Source Database Management System, has been released. MySQL 5.7.17 is recommended for use on production systems. For an overview of what's new in MySQL 5.7, please see http://dev.mysql.com/doc/refman/5.7/en/mysql-nutshell.html For information on installing MySQL 5.7.17 on new servers, please see the MySQL installation documentation at http://dev.mysql.com/doc/refman/5.7/en/installing.html MySQL Server 5.7.17 is available in source and binary form for a number of platforms from our download pages at http://dev.mysql.com/downloads/mysql/ MySQL Server 5.7.17 is also available from our repository for Linux platforms, go here for details: http://dev.mysql.com/downloads/repo/ Windows packages are available via the Installer for Windows or .ZIP (no-install) packages for more advanced needs. The point and click configuration wizards and all MySQL products are available in the unified Installer for Windows: http://dev.mysql.com/downloads/installer/ 5.7.17 also comes with a web installer as an alternative to the full installer. The web installer doesn't come bundled with any actual products and instead relies on download-on-demand to fetch only the products you choose to install. This makes the initial download much smaller but increases install time as the individual products will need to be downloaded. We welcome and appreciate your feedback, bug reports, bug fixes, patches, etc.: http://bugs.mysql.com/report.php The following section lists the changes in MySQL 5.7 since the release of MySQL 5.7.16. It may also be viewed online at http://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-17.html Enjoy! Changes in MySQL 5.7.17 (2016-12-12) Compilation Notes * For GCC versions higher than 4.4, -fno-expensive-optimizations was replaced with -ffp-contract=off, which has the effect of enabling more optimizations. Thanks to Alexey Kopytov for the patch. (Bug #24571672, Bug #82760) 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 (http://dev.mysql.com/doc/refman/5.7/en/enterprise-encryption-usage.html). (Bug #19687742) Packaging Notes * RPM packages now are built with -DWITH_NUMA=ON for platforms with NUMA support: OEL higher than EL5, Fedora, SLES, Docker. (Bug #24689078) 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. (Bug #24483092, Bug #25088048) References: See also: Bug #24464380, Bug #24388753. * 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 (http://dev.mysql.com/doc/refman/5.7/en/connection-control-plugin.html). * OpenSSL is ending support for version 1.0.1 in December 2016; see https://www.openssl.org/policies/releasestrat.html. 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, see https://www.openssl.org/news/vulnerabilities.html. This change does not affect the Oracle-produced MySQL Community build of MySQL Server, which uses the yaSSL library instead. Test Suite Notes * mysql-test-run.pl could not be run with --valgrind-option=--tool=custom_tool, for values of custom_tool such as massif or helgrind, because it added the options for memcheck that might not be understood by other tools. Also, the mysql-test-run.pl --callgrind option did not work because it supplied an invalid --base option to callgrind. Thanks to Daniel Black for the patch on which the fixes were based. (Bug #23713613, Bug #82039) Functionality Added or Changed * Incompatible Change; Partitioning: The generic partitioning handler in the MySQL server is deprecated, and will be removed in MySQL 8.0. As part of this change, the mysqld --partition and --skip-partition options as well as the -DWITH_PARTITION_STORAGE_ENGINE build option are also deprecated, and will later be removed; partitioning will no longer be shown in the INFORMATION_SCHEMA.PLUGINS table or in the output of SHOW PLUGINS. Following the removal of the generic partitioning handler, the storage engine used for a given table will be expected to provide its own ("native") partitioning handler as the InnoDB and NDB storage engines currently do. Currently, no other MySQL storage engines provide native partitioning support, nor is any planned for any other storage engines in current or development versions of MySQL. Use of tables with nonnative partitioning now results in an ER_WARN_DEPRECATED_SYNTAX warning. Also, the server performs a check at startup to identify tables that use nonnative partitioning; for any found, the server writes a message to its error log. To disable this check, use the --disable-partition-engine-check option. To prepare for migration to MySQL 8.0, any table with nonnative partitioning should be changed to use an engine that provides native partitioning, or be made nonpartitioned. For example, to change a table to InnoDB, execute this statement: ALTER TABLE table_name ENGINE = INNODB; * 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. (Bug #23333990) * The systemd service file for mysqld now includes a Documentation value in the [Unit] section to provide a link to the systemd documentation in the MySQL Reference Manual. (Bug #24735762) * Unit testing now uses Google Mock 1.8. (Bug #24572381, Bug #82823) * If mysqld is invoked with --daemonize, stdout and stderr are redirected to /dev/null if connected to a terminal type device, so that mysqld can behave as a true daemon. (Bug #21627629) * The libmysqld embedded server library is deprecated and will be removed in a future version of MySQL. * MySQL Group Replication is a new MySQL plugin that enables you to create a highly available distributed MySQL service across a group of MySQL server instances, with data consistency, conflict detection and resolution, and group membership services all built-in. By using a powerful new group communication service, which provides an implementation of the popular Paxos algorithm, the group of MySQL Server instances automatically coordinates on data replication, consistency, and membership. This provides all of the built-in mechanisms necessary for making your MySQL databases highly available. By default Group Replication operates in single-primary mode where a single server instance, called the primary, accepts write requests. The remaining server instances in the group, called secondaries, function as replicas of the primary. In the event of an unexpected failure of the primary, an automatic primary election process takes place and one of the secondaries is elected as the new primary. Group Replication also supports virtually synchronous multi-primary replication, with certain considerations and restrictions, which offers update everywhere functionality. In this mode all members are equal and you can distribute your reads and writes across all MySQL Server instances in the group. Regardless of the operating mode, Group Replication provides a dynamic membership service that relies on distributed failure detection. Server instances can join and leave the group dynamically, and you can query the group's membership list at any point through Performance Schema tables. Server instances that join the group automatically synchronize their state with the group by doing an automatic point-in-time recovery which ensures that they reach synchrony with the group. MySQL Group Replication's virtually synchronous replication is also a fully integrated part of MySQL, using the InnoDB storage engine, the Performance Schema tables, standard GTIDs and the well known replication infrastructure (binary and relay logs, multi-source replication, multi-threaded slave execution, etc.), which makes it a familiar and intuitive experience for existing MySQL users and makes it very easy to integrate with MySQL's standard asynchronous and semisynchronous replication, allowing you to mix and match as needed to create varied and complex replication topologies. Bugs Fixed * Incompatible Change: A change made in MySQL 5.7.8 for handling of multibyte character sets by LOAD DATA was reverted due to the replication incompatibility (Bug #24487120, Bug #82641) References: See also: Bug #23080148. * NDB Cluster: MySQL Cluster encountered race conditions compiling lex_hash.h. (Bug #24931655, Bug #83477) * InnoDB: The INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS table reported NULL for a foreign key constraint name (UNIQUE_CONSTRAINT_NAME) after restarting the server. (Bug #25126722) * InnoDB: A prepared XA transaction was rolled back by a high priority transaction. The high priority transaction should wait if the blocking transaction is in a prepared state. (Bug #25032066) * InnoDB: InnoDB passed an invalid argument to syscall(SYS_futex). (Bug #24923840, Bug #83375) * InnoDB: On a MySQL 64-bit build on Windows, a file I/O retry result was misinterpreted due to a missing cast necessary for the correct operation of the retry path, resulting in a failing assertion and operating system error. (Bug #24711351) * 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 (GCC Bug #77673). A workaround prevents this behavior. Thanks to Laurynas Biveinis for the patch. (Bug #24707869, Bug #83073) * InnoDB: Due to a glibc bug, short-lived detached threads could exit before the caller had returned from pthread_create(), causing a server exit. Thanks to Laurynas Biveinis for the patch. (Bug #24605956, Bug #82886) * InnoDB: After increasing the value of innodb_undo_logs and restarting the server, the number of active undo tablespaces was not increased when assigning undo tablespaces to newly allocated rollback segments. (Bug #24488141) * InnoDB: InnoDB incorrectly reported an error about missing encryption when restoring pages from the doublewrite buffer during recovery. (Bug #24471076) * InnoDB: A cached undo segment was not removed from the rollback segment history during a slow shutdown. (Bug #24450908) * 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. (Bug #24444831) * InnoDB: Rotating the tablespace encryption master key while the server is in read-only mode raised an assertion instead of displaying an error message. (Bug #24404091) * 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. (Bug #24397406) * InnoDB: A high priority transaction involving a foreign key constraint check was not able to kill a lower priority blocking transaction. (Bug #24347476) * InnoDB: Page cleaner threads asserted due to a regression related to the adaptive hash index feature. (Bug #24346574) References: This issue is a regression of: Bug #21407023. * InnoDB: InnoDB failed to free memory used by the full-text optimizer thread. (Bug #24331265) * InnoDB: When adding a new index, the server dropped an internally defined foreign key index and attempted to use a secondary index defined on a generated virtual column as the foreign key index, causing a server exit. InnoDB now permits a foreign key constraint to reference a secondary index defined on a generated virtual column. (Bug #23533396) * InnoDB: An INFORMATION_SCHEMA.FILES query resulted in a server exit due to a race condition with a concurrent tablespace creation operation. (Bug #23477214) * InnoDB: A table-copying online ALTER TABLE operation on a ROW_FORMAT=REDUNDANT table with indexed virtual columns raised an assertion. (Bug #22018745) * InnoDB: SHOW ENGINE INNODB STATUS output showed a "cleaning up" state for an idle thread. Thread state information was not reset after statement execution. (Bug #21974225, Bug #78777) * 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. (Bug #20989615, Bug #76872) * Replication: When using XA transactions, if a lock wait timeout or deadlock occurred for the applier (SQL) thread on a replication slave, the automatic retry did not work. The cause was that while the SQL thread would do a rollback, it would not roll the XA transaction back. This meant that when the transaction was retried, the first event was XA START which was invalid as the XA transaction was already in progress, leading to an XAER_RMFAIL error. (Bug #24764800) References: See also: Bug #24923091, Bug #24966941. * Replication: The group commit update of GTIDs has been refactored to improve performance on workloads with many small transactions. (Bug #24398760) * Replication: If the relay_log option was not specified in a configuration file, the relay_log_basename variable was being internally constructed on the fly using hostname but the relay_log_basename variable was not set. When a slave tried to access this uninitialized variable it resulted in an unexpected halt of the server. (Bug #24352667) * Replication: For servers built with yaSSL, using group replication with secure connections could result in timeout failures waiting for view delivery. (Bug #23592214) * 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). (Bug #22916743) * Replication: An XA PREPARE statement that failed during the intermediate steps could lead to an inconsistent XA transaction state, where ID = -1 but the binlogged flag was set to true. This caused asserts while executing XA COMMIT and XA ROLLBACK queries. (Bug #22915670) * Replication: Enabling semisynchronous replication when a server was during the commit stage could cause the master to stop unexpectedly. This was related to the patch for Bug# 75570. (Bug #22202516) * Replication: The number of generated unwanted fseeks into the binary log file being replicated to a slave has been reduced. (Bug #83226, Bug #24763579) * Replication: The rpl.rpl_binlog_errors test was failing sporadically on Windows. (Bug #82302, Bug #24330138) * Replication: When binlog_group_commit_sync_delay was set to a value between 1 and 9, if binlog_group_commit_sync_no_delay_count was set to a value greater than 1, and the number of transaction commits was less than binlog_group_commit_sync_no_delay_count, these commits hung forever if no more commits were received; and if binlog_group_commit_sync_no_delay_count was set to 0, all transaction commits hung forever. (Bug #80652, Bug #22891628) * Replication: Using semisynchronous replication was not possible with more than 1024 simultaneous connections. (Bug #79865, Bug #23581389) * Some Linux startup scripts did not process the datadir setting correctly. (Bug #25159791) * CREATE TABLE with a DATA DIRECTORY clause could be used to gain extra privileges. (Bug #25092566) * CMake now avoids configuring the -fexpensive-optimizations option for GCC versions for which the option triggers faulty shift-or optimizations. (Bug #24947597, Bug #83517) * 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. (Bug #24925181, Bug #83457) * OEL RPM packages now better detect which platforms do not have multilib support (for which 32-bit and 64-bit libraries can be installed). Thanks to Alexey Kopytov for the patch. (Bug #24916428, Bug #83428) * Information about building MySQL 5.6 compatibility libraries in the MySQL 5.7 and higher .spec file is needed only for building libmysqlclient and libmysqld. Information about building the InnoDB memcached plugin was removed. (Bug #24908345, Bug #83409) * Compiling MySQL using Microsoft Visual Studio 2015 Version 14.0.25420.1 in relwithdebinfo mode failed with linking errors. (Bug #24748505) * To better provide atomic file creation, Debian packaging scripts now use the coreutils install command rather than touch, chmod, and chown. (Bug #24688682) * For SLES packages, a typo in the installation script postamble prevented some cleanup from occurring. (Bug #24605300, Bug #82389) * Warnings occurring during CREATE TABLE ... SELECT could cause a server exit. (Bug #24595992) * For LOAD DATA statements, input data with too many column values produced only a warning, rather than an error as in MySQL 5.6. An error now occurs. (Bug #24577194, Bug #82830) * For segmentation faults on FreeBSD, the server did not generate a stack trace. (Bug #24566529, Bug #23575445, Bug #81827) * 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. (Bug #24557925) * The X Plugin was built with compilation options different from other plugins. (Bug #24555770, Bug #82777) * 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. (Bug #24496214) * The data structure used for ZEROFILL columns could experience memory corruption, leading eventually to a server exit. (Bug #24489302) * Operation of the mysql-multi.server.sh script was based on my.cnf in the data directory. That option file is no longer used, so mysql-multi.server.sh has been removed. (Bug #24487870) * 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. (Bug #24400628, Bug #82429) * The Gis_wkb_vector<Gis_point> copy constructor was not explicitly instantiated, causing build problems for the Intel compiler. (Bug #24397833, Bug #82358) * Upgrading from MySQL 5.6 to 5.7.13 and then to 5.7.14 resulted in an incorrect column order in the mysql.slave_master_info system table. (Bug #24384561, Bug #82384) * The AppArmor profile installed by Unbuntu packages was missing an entry permitting libnuma to read a /sys hierarchy path, resulting in server startup failure. (Bug #23854929) * For an INSERT statement for which the VALUES list produced values for the second or later row using a subquery containing a join, the server could exit after failing to resolve the required privileges. (Bug #23762382) * Infinite recursion could occur if the audit_log plugin signalled an error while handling an error. (Bug #23717558, Bug #82052) * 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. (Bug #23708395, Bug #24437737, Bug #82515, Bug #24459890, Bug #25103242) * For audit log events in the connection class, the connection_type value was available only for connect events. The value is now available in connect, disconnect, and change-user events. (Bug #23541550) * On Solaris, gettimeofday() could return an invalid value and cause a server shutdown. (Bug #23499695) * The keyring_file plugin could attempt to write keys to its storage file when the file did not exist. To ensure that keys are flushed only when the correct storage file exists, keyring_file now stores a SHA-256 checksum of the keyring in the file. Before updating the file, the plugin verifies that it contains the expected checksum. (Bug #23498254) * START GROUP REPLICATION uses stacked Srv_session and did not return to the correct thread. START GROUP REPLICATION and STOP GROUP REPLICATION are now removed from the list of permitted commands. (Bug #23337984) * A union query resulting in tuples larger than max_join_size could result in a server exit. (Bug #23303485) * The optimizer could choose ref access on a secondary index rather than range access on the primary key, even when the cost was higher. (Bug #23259872, Bug #81341) * For a query with ORDER BY and LIMIT, an optimizer trace did not record the optimizer's switch to a different index. (Bug #23227428, Bug #81250) * For some deeply nested expressions, the optimizer failed to detect stack overflow, resulting in a server exit. (Bug #23135667) * The sys schema ps_truncate_all_tables() function did not work with read_only enabled or for users with the SUPER privilege with super_read_only enabled, due to errors attempting to truncate Performance Schema tables. The server now skips the read_only/super_read_only check for Performance Schema tables, with the result that ps_truncate_all_tables() will work under such configurations. (Bug #23103937, Bug #81009) * For sessions created through the X Plugin, incorrect thread attachment/detachment could cause a server exit. (Bug #23057045) * When a JSON value consisted of a large sub-document wrapped in many levels of JSON arrays, objects, or both, serialization of the JSON value sometimes required an excessive amount time to complete. (Bug #23031146) * A binary (in-place) upgrade from MySQL 5.6 to 5.7 followed by a data export performed using mysqlpump resulted in an Invalid default value for date_column error for attempts to reload the dump file. (Bug #22919028, Bug #80706) * SQL statements executed through the X Plugin were not instrumented in the Performance Schema. (Bug #22859462) * DROP INDEX operations could fail due to inconsistent handling of index prefix lengths for TEXT-type columns (TINYTEXT and so forth). (Bug #22740093, Bug #80392) * The innodb_numa_interleave system variable was erroneously available on some systems that were not NUMA-enabled. Thanks to Tomislav Plavcic for the patch. CMake now sets the default WITH_NUMA value based on whether the current platform has NUMA support. For platforms without NUMA support, CMake behaves as follows: + With no NUMA option (the normal case), CMake continues normally, producing only this warning: NUMA library missing or required version not available + With -DWITH_NUMA=ON, CMake aborts with this error: NUMA library missing or required version not available (Bug #22678436, Bug #80288) * When taking the server offline, a race condition within the Performance Schema could lead to a server exit. (Bug #22551677) * On macOS, if a table with an associated trigger was renamed to a new name containing both lowercase and uppercase characters, DROP TRIGGER for the trigger resulted in an ER_NO_SUCH_TABLE error for the table. (Bug #22512899, Bug #79873) * In the MYSQL_FIELD C API structure, the org_table value for derived tables was *, which could cause failure for queries that depend on this value. The org_table value for views and derived tables now is set as follows: If the column is selected from a view, org_table names the view. If the column is selected from a derived table, org_table names the base table. If a derived table wraps a view, org_table still names the base table. If the column is an expression, org_table is the empty string. (Bug #22364401, Bug #79641) * 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. (Bug #22320066, Bug #79533) * For Performance Schema system and status variable tables, variable values expressed in a character set different from utf8 could be truncated or incorrect. (Bug #22313205) * Queries that were grouped on a column of a BLOB-based type, and that were ordered on the result of the AVG(), VAR_POP(), or STDDEV_POP() aggregate function, returned results in the wrong order if InnoDB temporary tables were used. (Bug #22275357, Bug #79366) * On Ubuntu, error messages were displayed during upgrades from Community to Commercial packages that made it appear as though mysqld and my_print_defaults had not been installed. Those messages were spurious and have been silenced. (Bug #21807248) * An invalid string value in the WHERE clause of an UPDATE statement, caused an index scan rather than a range scan to be used. For values not present in the index, this could be much slower. Now the optimizer determines this to be an "impossible WHERE" condition. (Bug #21032418, Bug #76933) * The return value from an fread() call was not checked. (Bug #20671150) * An in-place ALTER TABLE operation failed to report an error when adding a DATE or DATETIME column under these conditions: a) the column was NOT NULL and no default value was supplied; b) strict and NO_ZERO_DATE SQL modes were enabled; c) the table was not empty. An ALTER TABLE operation failed with an error rather than a warning when adding a DATE or DATETIME column under these conditions: a) the column was NOT NULL and no default value was supplied; b) strict SQL mode was enabled and NO_ZERO_DATE SQL mode was not enabled; c) the table was not empty. (Bug #16888677) On Behalf of the MySQL/ORACLE RE Team Hery Ramilison
↧