./databases/mysql57-client, MySQL 5, a free SQL database (client)

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 5.7.28, Package name: mysql-client-5.7.28, Maintainer: pkgsrc-users

MySQL is a SQL (Structured Query Language) database server. SQL is the most
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.

The official way to pronounce 'MySQL' is 'My Ess Que Ell' (Not MY-SEQUEL).

This package contains the MySQL client programs and libraries.


Required to run:
[lang/perl5] [devel/libevent] [devel/boost-libs] [devel/editline] [archivers/lz4]

Required to build:
[devel/boost-headers] [pkgtools/cwrappers]

Package options: embedded-server

Master sites: (Expand)

SHA1: 93d5c460f32576c92f95d9d81938e1d15ece1ae4
RMD160: 2ab8cddf7479aac8f5eaddd5a23cd4ee62b042d3
Filesize: 53143.563 KB

Version history: (Expand)


CVS history: (Expand)


   2019-11-14 17:59:38 by Adam Ciarcinski | Files touched by this commit (2)
Log message:
mysql57-client: add a patch for cmake/ssl.cmake taken from mysql56-client
   2019-10-31 13:04:22 by Jonathan Perkin | Files touched by this commit (2)
Log message:
mysql57: Disable HAVE_SOLARIS_LARGE_PAGES.

The current code uses functions that are only available in newer releases of
Oracle Solaris, so disable for now to fix illumos and others.  This could be
improved with proper feature tests.
   2019-10-14 22:19:29 by Adam Ciarcinski | Files touched by this commit (10) | Package updated
Log message:
mysql57: updated to 5.7.28

Changes in MySQL 5.7.28

Configuration Notes

It is now possible to compile MySQL 5.7 using OpenSSL 1.1.1, enabling \ 
compilation support for MySQL 5.7 against OpenSSL even when OpenSSL 1.0.2 \ 
reaches End of Life status at the end of 2019.

All MySQL 5.7 builds now use OpenSSL. MySQL no longer supports using yaSSL as \ 
the SSL library, and source distributions no longer include yaSSL.

The WITH_SSL CMake option no longer permits bundled (use yaSSL) as a valid \ 
value, and the default option value has changed from bundled to system (use the \ 
version of OpenSSL installed on the host system).

sys Schema Notes

The sys.schema_unused_indexes view now filters out unique indexes.

The sys.ps_is_consumer_enabled() function now produces an error rather than \ 
returning NULL if the argument is an unknown non-NULL consumer name.

Previously, sys schema sources were maintained in a separate Git repository. sys \ 
schema sources now are included with and maintained within MySQL source \ 
distributions (under scripts/sys_schema).

The sys.version view is deprecated and will be removed in a future MySQL \ 
version. Affected applications should be adjusted to use an alternative instead. \ 
For example, use the VERSION() function to retrieve the MySQL server version.

Bugs Fixed

InnoDB: An ALTER TABLE ... ENCRYPTION = 'Y' operation on a MyISAM table failed \ 
to raise an error indicating that the storage engine does not support \ 
encryption. The INPLACE algorithm did not check encryption support before \ 
updating metadata in the .frm file. To address this issue, an encryption support \ 
flag was added. The ALTER TABLE ... ENCRYPTION = 'Y' operation now checks the \ 
flag and reports an error if the storage engine does not support encryption.

InnoDB: Delete marked rows were able to acquire an external read lock before a \ 
partial rollback was completed. The external read lock prevented conversion of \ 
an implicit lock to an explicit lock during the partial rollback, causing an \ 
assertion failure.

InnoDB: A long running ALTER TABLE ... ADD INDEX operation with concurrent \ 
inserts caused semaphore waits.

Replication: A deadlock involving three threads could occur if a START SLAVE \ 
statement was issued to start the SQL thread on a slave while the SQL thread was \ 
still in the process of being stopped, and a request for the slave status was \ 
made at the same time. The issue has now been fixed by releasing a lock earlier \ 
while the SQL thread is being stopped.

Replication: A locking issue in the WAIT_FOR_EXECUTED_GTID_SET() function could \ 
cause the server to hang in certain circumstances. The issue has now been \ 
corrected.

Replication: On a multi-threaded slave with GTIDs in use and \ 
MASTER_AUTO_POSITION set to ON, following an unexpected halt the slave would \ 
attempt relay log recovery, which failed if relay logs had been lost, preventing \ 
replication from starting. However, this step was unnecessary as GTID \ 
auto-positioning can be used to restore any missing transactions. In a recovery \ 
situation, the slave now checks first whether MASTER_AUTO_POSITION is set to ON, \ 
and if it is, skips relay log recovery.

When generating C source from SQL scripts, Some utf8-encoded characters were \ 
split across lines. Thanks to Przemysław Skibiński for the patch.

For Solaris, mysqld.cc contained a prototype for memcntl() that is no longer \ 
needed. The prototype has been removed.

For Solaris, -DWITH_SSL=system did not work when compiling with GCC.

MySQL builds configured with -DWITHOUT_SERVER=1 failed.

For the keyring_aws plugin, some valid region values for the keyring_aws_region \ 
system variable were rejected.

For debug builds, an assertion could be raised during UNION queries when \ 
computing the combined data type of a GEOMETRY column and SELECT * FROM (SELECT \ 
NULL).

For authentication using an LDAP authentication plugin, if the user DN portion \ 
was empty and group mapping was configured, authentication assigned an incorrect \ 
user DN and skipped the user search.

mysqlpump produced an error when run against a server older than MySQL 5.7.

A possible integer overflow due to unsigned integer type casting could lead to \ 
later buffer overflow due to arbitrary size memory allocation.

Attempted use of a freed object during MeCab plugin initialization caused a \ 
segmentation fault.

For MySQL installed using RPM packages, an initialization script that tested \ 
server connectivity misbehaved if the client account authenticated using an LDAP \ 
authentication plugin.

Improper locking during storage engine initialization could cause a server exit.

On a GTID-enabled server, concurrent execution of DROP USER and a prepared \ 
statement that accessed a view could deadlock.

A query with a WHERE clause whose predicate contained a numeric value in \ 
scientific notation was not handled correctly.

VS2019 produced compilation errors with debug compilation selected due to use of \ 
the /ZI flag. Now /Z7 is used instead.

The client library could dereference a null pointer while fetching result set \ 
metadata from the server.

In READ UNCOMMITTED isolation level, a segmentation fault occurred under heavy \ 
load from memcached clients. An externally stored BLOB column that was being \ 
updated by one transaction was read by another transaction as having a NULL \ 
value and a non-zero data length.

Arguments for the TIMESTAMPADD() function could be reversed for prepared statements.

With the thread_pool plugin enabled, the sys.processlist and sys.session views \ 
displayed a thread name rather than the actual user name.

The delete_latency column in the sys.schema_index_statistics view incorrectly \ 
referred to the SUM_TIMER_INSERT column of the Performance Schema \ 
table_io_waits_summary_by_index_usage table rather than the SUM_TIMER_DELETE \ 
column.

In output from the sys.diagnostics() procedure, the latency column for the \ 
user_summary_by_file_io_type view was incorrectly displayed in raw picoseconds \ 
rather than as a formatted value.

MySQL Enterprise Encryption functions could apply Diffie-Hellman (DH) methods to \ 
non-DH keys, resulting in unpredictable results or server exit.

Password masking was incomplete for SHOW PROCESSLIST and some INFORMATION_SCHEMA \ 
and Performance Schema tables.

The -DWITH_EXAMPLE_STORAGE_ENGINE=1 CMake option was ignored but should not have \ 
been. If -DWITH_EXAMPLE_STORAGE_ENGINE=0 is given, the EXAMPLE storage engine is \ 
built as a plugin.
   2019-08-22 14:23:56 by Ryo ONODERA | Files touched by this commit (678)
Log message:
Recursive revbump from boost-1.71.0
   2019-08-11 15:25:21 by Thomas Klausner | Files touched by this commit (3557) | Package updated
Log message:
Bump PKGREVISIONs for perl 5.30.0
   2019-08-06 08:56:43 by Adam Ciarcinski | Files touched by this commit (6) | Package updated
Log message:
mysql57: updated to 5.7.27

Changes in MySQL 5.7.27:

Keyring Notes

The keyring_aws plugin has been updated to use the latest AWS SDK and so that it \ 
works with OpenSSL 1.1.

Packaging Notes

Binary packages that include curl rather than linking to the system curl library \ 
now use curl 7.64.0.

X Plugin Notes

On Windows, X Plugin logged some messages that were unnecessary or \ 
insufficiently informative. The messages have been removed or improved as \ 
appropriate.

Functionality Added or Changed

Microsoft Windows: A new warning message now reminds DBAs that connections made \ 
using the MySQL named pipe on Windows has limited the permissions a connector \ 
can request on the named pipe.

Previously, the named_pipe_full_access_group system variable was set to a value \ 
that maps to the built-in Windows Everyone group (SID S-1-1-0) by default. \ 
However, this group is not ideal and should be replaced with a group that \ 
restricts its membership for connectors that are unable to request fewer \ 
permissions on the MySQL named pipe.

The new warning is written to the error log at startup if the string value \ 
assigned to named_pipe_full_access_group is '*everyone*' (or the Windows System \ 
Language equivalent) and named pipes are enabled. In addition, the warning is \ 
written to the error log and raised to the client if the system variable is \ 
reset to the Everyone group at runtime.

Bugs Fixed

InnoDB: Insufficient memory barriers in the rw-lock implementation caused \ 
deadlocks on ARM.

Thanks to Yibo Cai from Arm Technology for the contribution.

InnoDB: Manually changing the system time while the MySQL server was running \ 
caused page cleaner thread delays.

InnoDB: During log application, after an OPTIMIZE TABLE operation, InnoDB did \ 
not populate virtual columns before checking for virtual column index updates.

InnoDB: An INSERT operation involving a generated virtual BLOB column resulted a \ 
secondary index being updated with an incorrect value.

InnoDB: A full-text cache lock taken when data is synchronized was not released \ 
if the full-text cache size exceeded the full-text cache size limit.

InnoDB: Client sessions using different auto_increment_increment values while \ 
performing concurrent insert operations could cause a duplicate key error.

Partitioning: ALTER TABLE ... EXCHANGE PARTITION failed with the error Non \ 
matching attribute 'ROW_FORMAT' between partition and table when the partitioned \ 
table had partitions using different row formats, even when the partition to be \ 
exchanged used the same row format as the non-partitioned table.

Replication: The error message that is issued for a discrepancy between the \ 
number of group members and the auto-increment interval incorrectly referred to \ 
the group_replication_auto_increment_increment system variable, instead of the \ 
auto_increment_increment system variable. The value of auto_increment_increment \ 
is changed to the value specified by group_replication_auto_increment_increment \ 
when Group Replication starts, but only if auto_increment_increment and \ 
auto_increment_offset have their default values, and from MySQL 8.0, only in \ 
multi-primary mode. The value of auto_increment_increment was always the value \ 
that was checked for the error message, and it has now been corrected to give \ 
the accurate system variable name.

Replication: When events generated by one MySQL server instance were written to \ 
the binary log of another instance, the second server implicitly assumed that \ 
the first server supported the same number of binary log event types as itself. \ 
Where this was not the case, the event header was handled incorrectly. The issue \ 
has now been fixed. Thanks to Facebook for the contribution.

Replication: In Group Replication, joining members could wrongly identify \ 
themselves as incompatible with an existing replication group even if there were \ 
members at the same version already in the group, because they checked against \ 
all other members, including the member at the highest version. Joining members \ 
also included their own version in the compatibility check. Now, joining members \ 
only compare themselves with the existing group member at the lowest version, \ 
and do not count their own version.

Replication: If a FLUSH LOGS statement was issued before the binary log file was \ 
initialized, the statement attempted to write a binary log rotation event to the \ 
uninitialized file. The server now checks first that a binary log file is \ 
available.

Replication: When a MEMORY table is implicitly deleted on a master following a \ 
server restart, the master writes a DELETE statement to the binary log so that \ 
slaves also empty the table. This generated event now includes a comment in the \ 
binary log so that the reason for the DELETE statement is easy to identify. \ 
Thanks to Daniël van Eeden for the contribution.

Replication: With statement-based replication in use, if super_read_only was set \ 
to ON for a server at the point when a no-op transaction was between its UPDATE \ 
and COMMIT operations, the transaction was written to the binary log and \ 
assigned a GTID. The transaction is now blocked in this situation. From MySQL \ 
8.0, the value of super_read_only cannot be changed while a transaction is in \ 
progress.

Replication: The group communication engine for Group Replication (XCom, a Paxos \ 
variant) did not handle out of memory errors in an appropriate way. If memory \ 
could not be allocated to make a copy of the payload for a message, an error was \ 
logged but the message was still sent, with a null payload. The Group \ 
Communication System (GCS) on the receiving member discarded the message as \ 
empty, and the XCom instance on the receiving member accepted this action and \ 
did not retry, resulting in the message effectively being skipped. This caused \ 
the GTID set on the receiving member to diverge from the group, leading to \ 
replication errors. XCom now terminates gracefully if it experiences an out of \ 
memory error, so that this situation cannot occur.

Replication: In query log events in the binary log, the thread ID used for the \ 
execution of DROP TABLE and DELETE statements was identified incorrectly or not \ 
at all. On a multi-threaded replication slave, where temporary tables were \ 
involved (which require the correct thread ID as they are session specific), \ 
this omission resulted in errors when using mysqlbinlog to replay the binary log \ 
for point-in-time recovery. The thread ID is now set correctly.

Replication: When a slave server logs master status and connection information \ 
to a table (master_info_repository=TABLE), which is the default in MySQL 8.0, \ 
the mysql.slave_master_info table was not being updated on shutdown if the \ 
server was in super read only mode (super_read_only=ON). No error was written to \ 
the error log at this time, but replication failed after server startup because \ 
the master log file and master log position information was out of date. The \ 
thread that updates the master info log at shutdown is now excluded from \ 
read-only checks like other replication threads are, so it can update the table \ 
even if the server is in super read only mode. Error handling for a slave that \ 
is shutting down has also been improved so that any failure to write to the \ 
slave status logs results in an error in the error log.

An overly strict assertion could be raised during sorting of stored program \ 
local objects.

Installing from RPM packages could result in an error log with incorrect permissions.

Enabling audit log encryption could cause a server exit.

On Debian and Ubuntu, MySQL packages did not enable mysql.service after upgrades \ 
from native MySQL packages.

The server did not properly close shared-memory connections when an error \ 
occurred, which could result in unexpected server behavior.

MySQL Installer did not install OpenSSL DLL dependencies if the Development \ 
component was not selected.

The parser could leak memory for certain multiple-statement queries.

CREATE USER and ALTER USER did not check the validity of a hashed authentication \ 
string when used with IDENTIFIED WITH auth_plugin AS 'hash_string' syntax.

For InnoDB tables that contained an index on a VARCHAR column and were created \ 
prior to MySQL 5.7.23, some simple ALTER TABLE statements that should have been \ 
done in place were performed with a table rebuild after an upgrade to MySQL \ 
5.7.23 or higher.

HANDLER statements did not always work correctly with tables having generated \ 
columns.

Session-tracking information in the client/server protocol could be mishandled.

With the PAD_CHAR_TO_FULL_LENGTH SQL mode enabled, password changes failed, with \ 
no warning or error reported.

The audit_log plugin did not log UNINSTALL PLUGIN audit_log statements.

audit_log filtering operations could leak memory.

An index defined on a virtual generated column could fail to be updated if the \ 
column had a base column in a foreign key relationship.

Privileges for dropping some Performance Schema tables were checked incorrectly.

A query that employed a derived table which included an ORDER BY was not always \ 
handled correctly.

Base columns were not excluded from index-only access by a generated column.

A thread pool group could be blocked when a thread process tick time exceeded \ 
the maximum permitted value. The tick time now uses a larger data type to permit \ 
larger values.

MySQL does not support OpenSSL session tickets, but did not set the \ 
SSL_OP_NO_TICKET flag to inform OpenSSL of that. The flag is now set.

The audit_null plugin did not properly check for a null event record.

UpdateXML() did not always free memory properly in certain cases.

Empty values in the name column of the mysql.plugin system table caused the \ 
server to exit during startup.

With the thread_pool plugin enabled, the Performance Schema status_by_thread \ 
table contained no data.

If an INSTALL PLUGIN statement contained invalid UTF-8 characters in the shared \ 
library name, it caused the server to hang (or to raise an assertion in debug \ 
builds).

Inner tables of different semijoin nests were interleaved during \ 
materialization, which could lead to a different result for the same query when \ 
it used a different query plan. To keep this from occurring, a check is added to \ 
prevent such interleaving.

A query involving GROUP BY on a TIMESTAMP column resulted in a duplicate entry \ 
for key (ER_DUP_ENTRY) error. This problem arose when TIMESTAMP values were \ 
inserted into a table using a given setting for the time zone and these values \ 
were later fetched after the time zone setting had been changed, such that at \ 
least some of the inserted TIMESTAMP values occurred during the hour that the \ 
time changed from standard to daylight time (DST) in the new time zone, during \ 
which time the same TIMESTAMP value can exist twice. Now, when the server would \ 
otherwise return the error DUPLICATE ENTRY FOR KEY 'group_key', if the grouping \ 
involves a TIMESTAMP column, it instead raises the error Grouping on temporal is \ 
non-deterministic for time zones having DST. Please consider switching to UTC \ 
for this query.

In addition, it is suggested to set explicit_defaults_for_timestamp to ON as \ 
well as one or more of MODE_NO_ZERO_IN_DATE, MODE_NO_ZERO_DATE, or \ 
MODE_INVALID_DATES as part of the server SQL mode to help avoid this issue.
   2019-07-01 12:25:49 by Adam Ciarcinski | Files touched by this commit (2)
Log message:
mysql57-client: allow newer Boost; fixes building with boost-1.70.0
   2019-07-01 06:08:55 by Ryo ONODERA | Files touched by this commit (669)
Log message:
Recursive revbump from boost-1.70.0