summaryrefslogtreecommitdiff
path: root/databases/mysql57-server
AgeCommit message (Collapse)AuthorFilesLines
2018-04-29mysql57: updated to 5.7.22adam2-14/+89
Changes in MySQL 5.7.22: Deprecation and Removal Notes These compatibility SQL modes are now deprecated and will be removed in MySQL 8.0: DB2, MAXDB, MSSQL, MYSQL323, MYSQL40, ORACLE, POSTGRESQL, NO_FIELD_OPTIONS, NO_KEY_OPTIONS, NO_TABLE_OPTIONS. These deprecations have two implications: Assigning a deprecated mode to the sql_mode system variable produces a warning. With the MAXDB SQL mode enabled, using CREATE TABLE or ALTER TABLE to add a TIMESTAMP column to a table produces a warning. Statements that use these deprecated SQL modes may fail when replicated from a MySQL 5.7 master to a MySQL 8.0 slave, or may have different effects on master and slave. To avoid such problems, applications that use the modes deprecated in MySQL 5.7 should be revised not to use them. Test Suite Notes Reduction of compiler and platform differences in GIS handling of floating-point results enables simplification of related test cases that no longer need rounding to avoid spurious test failures. X Plugin Notes X Plugin connection attempts using the X Protocol did not return an error when the default database specified in the connection options was invalid, and the connection was allowed with a null default database. Connection attempts using the classic MySQL protocol did return an error and disallowed the connection. X Protocol connection attempts now also disallow the connection if an invalid schema is specified. Functionality Added or Changed Replication: Changes introduced in version 8 which enable XCom to identify members using the concept of an incarnation have been merged in to version 5.7. These underlying changes add a UUID to members each time they join a group and this information can be used to distinguish among different member incarnations. Replication: It is now possible to specify whether information written into the binary log enables replication slaves to parallelize based on commit timestamps, or on transaction write sets. JSON: The JSON_MERGE() function is renamed to JSON_MERGE_PRESERVE(). JSON: Added the JSON utility function JSON_PRETTY(), which prints an existing JSON value, or any string that can successfully be parsed as a JSON document, in a format that can be easily read by humans. Each JSON object member or array value is displayed on a separate line of the output; each child object or array is intended 2 spaces with respect to its parent. Bugs Fixed
2018-02-25mysql57-{client,server}: support openssl 1.1markd1-1/+2
2018-02-20mysql57-server: remove reference to non-existing filewiz1-11/+2
2018-01-16mysql57: updated to 5.7.21adam2-3/+60
MySQL 5.7.21 Audit Log Notes * MySQL Enterprise Audit now supports compression and encryption of audit log files. Encryption is based on a user-defined password. To use this feature, the MySQL keyring must be enabled because audit logging uses it for password storage. MySQL Enterprise Audit also now supports logging in JSON format, in addition to the existing XML formats. For JSON format, functions are available that provide runtime log reading capabilities. For additional information, see MySQL Enterprise Audit. Configuration Notes * For RHEL, SLES, and Fedora RPMs, the default plugin directory for debug builds has been changed from /usr/lib64/mysql/plugin to /usr/lib64/mysql/plugin/debug. * The installation scripts for MySQL Enterprise Audit and MySQL Enterprise Firewall now create their associated tables in the mysql system database as InnoDB rather than MyISAM tables. * The hardcoded memory page size of 8KB for the memory-mapped transaction coordinator was too small for platforms such as ARM64 and PowerPC where the page size is much larger. The server now invokes a system call to get the page size of the current platform rather than using a hardcoded value. A consequence for the --log-tc-size option is that the minimum and default values are now 6 times the page size. Also, the value must be a multiple of the page size. Thanks to Alexey Kopytov for the patch. Performance Schema Notes * The Performance Schema setup_timers table is now deprecated, to be removed in MySQL 8.0, as is the TICK row in the performance_timers table. Pluggable Authentication * For the LDAP authentication plugins, handling of the group search attribute indicated by the authentication_ldap_sasl_group_search_attr and authentication_ldap_simple_group_search_attr system variables is more flexible. If the group search attribute is isMemberOf, LDAP authentication directly retrieves the user attribute isMemberOf value and assign it as group information. If the group search attribute is not isMemberOf, LDAP authentication searches for all groups where the user is a member. (The latter is the default behavior.) This behavior is based on how LDAP group information can be stored two ways: 1) A group entry can have an attribute named memberUid or member with a value that is a user name; 2) A user entry can have an attribute named isMemberOf with values that are group names. * The LDAP authentication plugins now permit the authentication string that provides user DN information to begin with a + character. In the absence of this character, the authentication string value is treated as is without modification, as it has been previously. If the authentication string begins with +, the plugin constructs the full user DN value from the account user name as the cn attribute value, together with the authentication string (with the + removed). The authentication string is stored as given in the mysql.user system table, with the full user DN constructed on the fly before authentication. * For the LDAP authentication plugins, the group search attribute was fixed and not configurable. Two new system variables now enable using custom group filters: authentication_ldap_sasl_group_search_filter and authentication_ldap_simple_group_search_filter. Security Notes * Incompatible Change: Passwords are now restricted to a maximum of 256 characters for the sha256_password authentication plugin, and for the PASSWORD() function when old_passwords=2. Also, the number of password hashing rounds is capped to limit CPU time used. * The linked OpenSSL library for the MySQL Commercial Server has been updated to version 1.0.2n. Issues fixed in the new OpenSSL version are described at 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. * MySQL now supports key migration between underlying keyring keystores. This enables DBAs to switch a MySQL installation from one keyring plugin to another. See Migrating Keys Between Keyring Keystores. * MySQL Enterprise Edition now includes a keyring plugin, keyring_encrypted_file, that is similar to the keyring_file plugin in its use of a local data file for key storage, but that also encrypts the file based on a user-defined password. See Using the keyring_encrypted_file Keyring Plugin.
2018-01-01Revbump after boost updateadam1-1/+2
2017-10-22mysql57: update to 5.7.20adam2-12/+79
Changes in MySQL 5.7.20: Audit Log Notes Event-matching filter rules for the audit_log plugin now support an abort element, which can be used to prevent qualifying events from executing. For more information, see Audit Log Filtering. This capability can be used, for example, to augment the capabilities of MySQL Enterprise Firewall, which blocks SQL statements on a per-user basis, by writing audit filtering rules that match statements and block them based on characteristics of the statements themselves. Deprecation and Removal Notes Previously, the --transaction-isolation and --transaction-read-only server startup options corresponded to the tx_isolation and tx_read_only system variables. For better name correspondence between startup option and system variable names, transaction_isolation and transaction_read_only have been created as aliases for tx_isolation and tx_read_only. The tx_isolation and tx_read_only variables are now deprecated and will be removed in MySQL 8.0. Applications should be adjusted to use transaction_isolation and transaction_read_only instead. The query cache is now deprecated and is removed in MySQL 8.0. Deprecation includes these items: * The FLUSH QUERY CACHE and RESET QUERY CACHE statements. * The SQL_CACHE and SQL_NO_CACHE SELECT modifiers. * These system variables: have_query_cache, ndb_cache_check_time, query_cache_limit, query_cache_min_res_unit, query_cache_size, query_cache_type, query_cache_wlock_invalidate. * These status variables: Qcache_free_blocks, Qcache_free_memory, Qcache_hits, Qcache_inserts, Qcache_lowmem_prunes, Qcache_not_cached, Qcache_queries_in_cache, Qcache_total_blocks. The mysql client by default strips comments in statements sent to the server, and this behavior is controlled using --skip-comments (strip comments), and --comments (preserve comments). Comment stripping is now deprecated. This feature and the options to control it will be removed in a future MySQL release. These syntax constructs for table and column references are now deprecated and will be removed in a future version of MySQL. Instances of these constructs should be changed to remove the leading period. * .col_name * .tbl_name * .tbl_name.col_name Security Notes Certificates automatically generated by mysqld and mysql_ssl_rsa_setup now use X509 v3 rather than v1. The keyring_okv plugin now supports password-protecting the key file used for secure connections. See Using the keyring_okv KMIP Plugin. Bugs Fixed
2017-09-13boost: update to 1.65.1adam1-2/+2
Fixes in 1.65.1 Config: * Version macro changes for CUDA. * Update last known MSVC version. * MSVC 14.11 supports structured bindings. Context: * Return a continuation from functions executed by resume_with. Fiber: * Return a continuation from functions executed by resume_with. Smart Pointers: * Fix Visual C++ version checks. * Fix compilation for NVCC with host compiler clang. Stacktrace: * Update build testing file to detail with a MinGW issue. * Change preprocessor file extensions to work with the installation system. * Support FreeBSD and other OSs that do not define _GNU_SOURCE but have _Unwind_Backtrace function. Thread: * Fix bug in boost::condition_variable on Windows
2017-08-24Revbump for boost updateadam1-1/+2
2017-07-20Security Notesadam2-20/+151
* Security Fix: The linked OpenSSL library for the MySQL Commercial Server has been updated to version 1.0.2l. Issues fixed in the new OpenSSL version are described at 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. Platform-Specific Notes * Linux: The generic Linux build for MySQL 5.6 is now built on Oracle Linux 6 using glibc 2.12. Systems that use the build need to have glibc 2.12 or later installed on them. Functionality Added or Changed * For Windows, MSI installer packages now include a check for the required Visual Studio redistributable package, and produce a message asking the user to install it if it is missing. * The mysql client now supports a --binary-as-hex option that causes display of binary data using hexadecimal notation (0xvalue). Thanks to Daniƫl van Eeden for the patch. * mysqlaccess now looks for its configuration file only in the SYSCONFDIR directory and /etc. Bugs Fixed * InnoDB: The server allocated memory unnecessarily for an operation that rebuilt the table. * InnoDB: When using an index merge optimizer switch, a SELECT COUNT(*) operation sometimes returned 0. Partitioning code incorrectly performed a memcpy instead of a column copy of columns read by the index, causing the wrong records to be copied. * Replication: A USE statement that followed a SET GTID_NEXT statement sometimes had no effect. * Replication: If the binary log on a master server was rotated and a full disk condition occurred on the partition where the binary log file was being stored, the server could stop unexpectedly. The fix adds a check for the existence of the binary log when the dump thread switches to next binary log file. If the binary log is disabled, all binary logs up to the current active log are transmitted to slave and an error is returned to the receiver thread. * Replication: If a relay log index file named relay log files that did not exist, RESET SLAVE ALL sometimes did not fully clean up properly. * Replication: mysqlbinlog, if invoked with the --raw option, does not flush the output file until the process terminates. But if also invoked with the --stop-never option, the process never terminates, thus nothing is ever written to the output file. Now the output is flushed after each event. * Replication: A memory leak in mysqlbinlog was fixed. The leak happened when processing fake rotate events, or when using --raw and the destination log file could not be created. The leak only occurred when processing events from a remote server. Thanks to Laurynas Biveinis for his contribution to fixing this bug. * Replication: Multi-threaded slaves could not be configured with small queue sizes using slave_pending_jobs_size_max if they ever needed to process transactions larger than that size. Any packet larger than slave_pending_jobs_size_max was rejected with the error ER_MTS_EVENT_BIGGER_PENDING_JOBS_SIZE_MAX, even if the packet was smaller than the limit set by slave_max_allowed_packet. * With this fix, slave_pending_jobs_size_max becomes a soft limit rather than a hard limit. If the size of a packet exceeds slave_pending_jobs_size_max but is less than slave_max_allowed_packet, the transaction is held until all the slave workers have empty queues, and then processed. All subsequent transactions are held until the large transaction has been completed. The queue size for slave workers can therefore be limited while still allowing occasional larger transactions. * mysqldump could write database names in USE statements incorrectly. * If the mysql_stmt_close() C API function was called, it freed memory that later could be accessed if mysql_stmt_error(), mysql_stmt_errno(), or mysql_stmt_sqlstate() was called. To obtain error information after a call to mysql_stmt_close(), call mysql_error(), mysql_errno(), or mysql_sqlstate() instead. * Queries could be cached incorrectly, leading to incorrect query results, under these circumstances: InnoDB table; rows are being inserted but have not yet been committed; a query uses the table as a base table in a derived table; the optimizer chooses to materialize the derived table. * Man pages for a few utilities were missing from Debian/Ubuntu packages. * The field-t unit test failed to run with AddressSanitizer enabled. Thanks to Laurynas Biveinis for the patch. * Debian client packages were missing information about conflicts with native packages. * The Perl path in #! lines at the beginning of Perl scripts has been adjusted to /usr/local/bin/perl for FreeBSD 11. * The server exited abnormally attempting to access invalid memory. * A race condition could occur for CREATE TABLE statements with DATA DIRECTORY or INDEX DIRECTORY clauses. * MySQL compilation in different directories produced different builds to leakage of absolute paths into debug information and __FILE__. * mysqld_failed to start the server if the --datadir option was specified with a relative path name. * With read_only enabled, creation of non-TEMPORARY tables by non-SUPER users was permitted under certain conditions. *Certain stored functions, if used in a query WHERE clause, could be handled using Index Condition Pushdown (which should not happen), resulting in a server exit. * On x86 machines, the uint3korr() macro read 4 bytes of data instead of the intended 3 bytes. * An assertion was raised during a fetch operation by the memcached plugin. * Queries that contained UNION in a subquery and GROUP BY could return incorrect results. * LOAD XML INFILE performance became noticeably slower when the XML file being read contained a great many spaces, such as those introduced by indenting or pretty-printing. Now all leading whitespace is trimmed from each such value before reading it into memory.
2017-06-24Disassociate from controlling terminal (using Perl, already aschmonz2-5/+5
dependency) and run the logger as ${mysqld_user}, not root. Bump PKGREVISIONs.
2017-04-30Recursive revbump from boost updateryoon1-1/+2
2017-04-11Changes 5.7.18:adam2-8/+82
* Windows builds now use the default runtime libraries (builds use the /MD flag). * CMake support was added for compiling with Developer Studio 12.6. * MySQL failed to compile if -DENABLE_DEBUG_SYNC=OFF AND -DWITH_DEBUG=ON were both given. The ENABLE_DEBUG_SYNC option has been removed and enabling WITH_DEBUG enables Debug Sync. * The --temp-pool server option is deprecated and will be removed in MySQL 8.0. * Support for DTrace is deprecated and is removed in MySQL 8.0. * Changes in RPM package structure require a larger set of packages to be removed to install MySQL Server cleanly. * To avoid potential race conditions, Debian packages now use the GNU install utility rather than a combination of mkdir, touch, and chown. * The my-default.cnf.sh file (used to produce a default my-default.cnf or my-default.ini file) is no longer included in source distributions and my-default.cnf and my-default.ini are no longer included in or installed by distribution packages. * Reminder: MySQL 5.7 requires the Microsoft Visual C++ 2013 Redistributable Package to run on Windows platforms. Users should make sure the package has been installed on the system before starting the server. The package is available at the Microsoft Download Center. * PROCEDURE ANALYSE() syntax is now deprecated and is removed in MySQL 8.0. * The use of \N as a synonym for NULL in SQL statements is deprecated and is removed in MySQL 8.0. Use NULL instead. * The linked OpenSSL library for the MySQL Commercial Server has been updated to version 1.0.2k.
2017-01-01Revbump after boost updateadam1-1/+2
2016-12-12Changes 5.7.17:adam1-151/+866
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. Security Notes -------------- Incompatible Change: These changes were made to mysqld_safe: * Unsafe use of rm and chown in mysqld_safe could result in privilege escalation. chown now can be used only when the target directory is /var/log. An incompatible change is that if the directory for the Unix socket file is missing, it is no longer created; instead, an error occurs. Due to these changes, /bin/bash is required to run mysqld_safe on Solaris. /bin/sh is still used on other Unix/Linux platforms. * The --ledir option now is accepted only on the command line, not in option files. * mysqld_safe ignores the current working directory. Other related changes: * Initialization scripts that invoke mysqld_safe pass --basedir explicitly. * Initialization scripts create the error log file only if the base directory is /var/log or /var/lib. * Unused systemd files for SLES were removed. * MySQL Server now includes a plugin library that enables administrators to introduce an increasing delay in server response to clients after a certain number of consecutive failed connection attempts. This capability provides a deterrent that slows down brute force attacks that attempt to access MySQL user accounts. For more information, see The Connection-Control Plugin. * OpenSSL is ending support for version 1.0.1 in December 2016; 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.
2016-10-14Changes 5.7.16:adam2-5/+4
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. * 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. 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.
2016-10-07Revbump post boost updateadam1-1/+2
2016-09-16MySQL is a SQL (Structured Query Language) database server. SQL is the mostadam11-0/+13692
popular database language in the world. MySQL is a client-server implementation that consists of a server daemon `mysqld' and many different client programs/libraries. The main goals of MySQL are speed and robustness. The base upon which MySQL is built is a set of routines that have been used in a highly demanding production environment for many years. While MySQL is still in development it already offers a rich and highly useful function set.