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

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

Branch: CURRENT, Version: 5.7.35, Package name: mysql-client-5.7.35, 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

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.

This is an old version, scheduled to be EOL in October, 2023.

Required to run:
[lang/perl5] [security/openssl] [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: 73e64bfa96c8982e54f6c44348f233419d582e8f
RMD160: 3193e5c3d9ec916229d0050acf37af2a4d4c8d5e
Filesize: 54911.036 KB

Version history: (Expand)

CVS history: (Expand)

   2021-07-25 22:29:14 by Adam Ciarcinski | Files touched by this commit (7) | Package updated
Log message:
mysql57: updated to 5.7.35

Changes in MySQL 5.7.35 (2021-07-20, General Availability)

Audit Log Notes

Deprecation and Removal Notes

Packaging Notes

Bugs Fixed

Audit Log Notes

For MySQL Enterprise Audit, the new audit_log_format_unix_timestamp system \ 
variable enables inclusion of a time field in each audit record. The field value \ 
is an integer that represents the UNIX timestamp value indicating the date and \ 
time when the audit event was generated. The time field is supported only for \ 
JSON-format log files.

Deprecation and Removal Notes

The TLSv1 and TLSv1.1 connection protocols now are deprecated and support for \ 
them is subject to removal in a future MySQL version. (For background, refer to \ 
the IETF memo Deprecating TLSv1.0 and TLSv1.1.) It is recommended that \ 
connections be made using the more-secure TLSv1.2 and TLSv1.3 protocols. TLSv1.3 \ 
requires that both the MySQL server and the client application be compiled with \ 
OpenSSL 1.1.1 or higher.

On the server side, this deprecation has the following effects:

If the tls_version system variable is assigned a value containing a deprecated \ 
TLS protocol during server startup, the server writes a warning for each \ 
deprecated protocol to the error log.

If a client successfully connects using a deprecated TLS protocol, the server \ 
writes a warning to the error log.

On the client side, the deprecation has no visible effect. Clients do not issue \ 
a warning if configured to permit a deprecated TLS protocol. This includes:

Client programs that support a --tls-version option for specifying TLS protocols \ 
for connections to the MySQL server.

Statements that enable replicas to specify TLS protocols for connections to the \ 
source server. (CHANGE MASTER TO has a MASTER_TLS_VERSION option.)

Packaging Notes

Binary packages that include curl rather than linking to the system curl library \ 
have been upgraded to use curl 7.77.0.

The bundled lz4 library was upgraded to version 1.9.3.

Bugs Fixed

InnoDB: A deadlock between a user thread and purge thread involving a undo log \ 
page and rollback segment page occurred after an undo tablespace truncate \ 
operation was initiated. The deadlock caused a long semaphore wait and an \ 
eventual failure.

InnoDB: An integer underflow issue was addressed in the InnoDB mecached plugin \ 

InnoDB: An index with a key prefix length greater than 767 bytes was permitted \ 
on a table defined with the REDUNDANT row format, exceeding the index key prefix \ 
length limit for that row format. The ALTER TABLE operation that added the index \ 
validated the index key prefix length for the row format defined by the \ 
innodb_default_row_format variable instead of the actual row format of the \ 
table. The fix ensures that index key prefix length is validated for the correct \ 
row format.

InnoDB: An online buffer pool resizing operation freed the previous buffer pool \ 
page hash, conflicting with a concurrent buffer pool lookup that required the \ 
previous page hash.

InnoDB: Numerous system temporary table pages at the tail of the buffer pool \ 
flush list caused a performance degradation. The flush_list_mutex was held while \ 
the flush list scan traversed over system temporary table pages. The flush list \ 
scan now excludes system temporary table pages.

InnoDB: A binary log rotation deadlock occurred on a system using \ 
statement-based replication where there was high number of concurrent update \ 
operations and low innodb_thread_concurrency setting.

Replication: When the system variable \ 
replication_optimize_for_static_plugin_config was set, the plugins for Group \ 
Replication and semi-synchronous replication could not be uninstalled cleanly on \ 
server shutdown.

Replication: A deadlock could occur when START GROUP_REPLICATION and STOP \ 
GROUP_REPLICATION statements were issued at the same time that a view change was \ 
taking place for the group.

Replication: A deadlock could occur if a STOP GROUP_REPLICATION statement was \ 
issued when a replication channel on a group member was attempting to commit a \ 
transaction. The server now rolls back the transaction immediately if it cannot \ 
acquire the relevant lock, rather than waiting for the lock and the commit to \ 
complete and causing the deadlock.

Replication: On a multithreaded replica, the reference to the active event was \ 
sometimes managed incorrectly when retrying a transaction.

Replication: Replica servers now check and validate the transaction ID part of a \ 
GTID before applying and committing the transaction associated with it.

Replication: Replication could stop on a multithreaded replica if a unique \ 
secondary key was omitted from the writeset hashes used to compute transaction \ 
dependencies, leading to errors when executing the transactions on the \ 
multithreaded replica. Write set hashes now always include unique secondary keys \ 
even if they are not included in the read set and write set.

JSON: Passing NULL to a stored procedure expecting a JSON parameter led to an \ 
assertion failure in debug builds.

Replication could fail if a DML statement was executed immediately after an XA \ 
transaction was rejected or forced to rollback due to a deadlock.

The mysql_change_user() C API function did not properly parse the \ 
COM_CHANGE_USER packet, which could result in silent failure to process optional \ 
query attributes that may have been supplied prior to the mysql_change_user() \ 
call. Thanks for René Cannaò for the contribution.

Repreparation of a prepared statement at the beginning of an implicit \ 
transaction could cause an ER_GTID_NEXT_TYPE_UNDEFINED_GROUP error.

An out-of-memory error occurred when loading large amounts of data into tables \ 
with full-text search indexes. Not all of the memory allocated to the full-text \ 
search cache was accounted for when inserting data into the full-text search \ 
auxiliary tables.

A secondary index over a virtual column became corrupted when the index was \ 
built online.

For UPDATE statements, we fix this as follows: If the virtual column value of \ 
the index record is set to NULL, then we generate this value from the cluster \ 
index record.

Boolean system variables could be assigned a negative value.
   2021-05-24 21:56:06 by Thomas Klausner | Files touched by this commit (3575)
Log message:
*: recursive bump for perl 5.34
   2021-04-29 18:50:33 by Adam Ciarcinski | Files touched by this commit (3)
Log message:
mysql57: fix building with GCC
   2021-04-21 15:26:55 by Adam Ciarcinski | Files touched by this commit (6) | Package updated
Log message:
mysql57: updated to 5.7.34

Changes in MySQL 5.7.34 (2021-04-20, General Availability)

Configuration Notes

The CMAKE_BUILD_TYPE CMake option now supports a Release build type, which is \ 
like the RelWithDebInfo build type but omits debugging information to reduce the \ 
build size.

Packaging Notes

The bundled libedit library was upgraded to version 20190324-3.1.

Binary packages that include curl rather than linking to the system curl library \ 
have been upgraded to use curl 7.74.0.

Security Notes

The linked OpenSSL library for MySQL Server has been updated to version 1.1.1k. \ 
Issues fixed in the new OpenSSL version are described at \ 
https://www.openssl.org/news/cl111.txt and \ 

Functionality Added or Changed

Microsoft Windows: The named_pipe_full_access_group system variable now defaults \ 
to an empty string (''), making named pipe connections secure. Previously, \ 
'*everyone*' was the default value. A valid Windows local group name may be \ 

Bugs Fixed

InnoDB: The introduction of sharded rw_lock_stats counters in MySQL 5.7 caused a \ 
regression in CPU cache efficiency. To address this issue in MySQL 5.7, the \ 
sharding method was changed. For optimal performance, the rw_lock_stats counter \ 
is removed in MySQL 8.0.

InnoDB: A delete operation on a parent table that initiated a cascading update \ 
on a child table with an indexed virtual column and indexed foreign key \ 
constraint column caused a virtual column corruption.

InnoDB: An adaptive hash index (AHI) latch was held in shared mode by a thread \ 
truncating a large table, causing mutex waits for other threads. The AHI latch \ 
was not required and has been removed.

InnoDB: The open and close sequence for table share instances (m_share objects) \ 
and dictionary table instances was modified to prevent accessing old m_share \ 
objects that could point to stale dictionary indexes.

Thanks to Yuxiang Jiang for the contribution.

InnoDB: An online ALTER TABLE operation failed with an “Incorrect key file for \ 
table” error due to an unnecessary encryption status check that was performed \ 
when reading online DDL row logs.

Replication: If all previous binary log files were purged at startup because \ 
their retention period had expired, the new binary log file contained an empty \ 
Previous_gtids event, which could cause errors in replication. The order of \ 
initialization has now been changed so that previous binary log files are only \ 
purged after the previous GTID set has been written to the new binary log file \ 
that is created at startup.

Replication: An assertion was raised in debug builds relating to lost GTIDs if \ 
binary log files were removed at startup because their retention period had \ 

Replication: A deadlock could occur if the binary log file was rotated while \ 
system variables were being updated and read by different clients.

Replication: The output of a SHOW PROCESSLIST statement for a replica’s SQL \ 
thread sometimes showed the last query as currently being applied when the \ 
replica was actually caught up.

A query string was displayed before it had been rewritten.

For builds compiled using the libedit library, if the mysql client was invoked \ 
with the --default-character-set=utf8 option, libedit rejected input of \ 
multibyte characters.

On Windows, large result sets could cause the mysql client to exit unexpectedly.

Improper locking on an internal queue could cause mysqlpump to exit unexpectedly.

statements for the group_replication_applier channel when Group Replication is \ 
stopped. This enables an operator to apply any remaining unapplied transactions \ 
on a server that left the group, without having to rejoin the server to the \ 

When the mysql client was used in batch mode, its parser could be confused by \ 
USE followed by DROP DATABASE when the USE database name was quoted.

While optimizing the ORDER BY clause of a subquery there was a possibility of \ 
cleaning up a subquery tree referenced in the outer SELECT, which could lead to \ 
a premature exit.

A malformed name in the mysql.func system table could cause unexpected server \ 

Sessions could disable their own auditing.

Mishandling of stored program local variables could lead to unexpected server \ 

Uninstalling a plugin could affect subsequent execution of prepared statements.
   2021-02-19 11:19:56 by Tobias Nygren | Files touched by this commit (1)
Log message:
mysql57-client: needs gnu99 / gnu++14 to compile correct alloca(3) refs
   2021-02-04 21:26:10 by Adam Ciarcinski | Files touched by this commit (7) | Package updated
Log message:
mysql57: updated to 5.7.33

Changes in MySQL 5.7.33

Optimizer Notes

MySQL attempts to use an ordered index for any ORDER BY or GROUP BY query that \ 
has a LIMIT clause, overriding any other choices made by the optimizer, whenever \ 
it determines that this would result in faster execution. Because the algorithm \ 
for making this determination makes certain assumptions about data distribution \ 
and other conditions, it may not always be completely correct, and it is \ 
possible in some cases that choosing a different optimization for such queries \ 
can provide better performance. To handle such occurrences, it is now possible \ 
to disable this optimization by setting the optimizer_switch system variable's \ 
prefer_ordering_index flag to off.

For more information about this flag and examples of its use, see Switchable \ 
Optimizations, and LIMIT Query Optimization.

Our thanks to Jeremy Cole for the contribution.
Security Notes

The linked OpenSSL library for MySQL Server has been updated to version 1.1.1i. \ 
Issues fixed in the new OpenSSL version are described at \ 
https://www.openssl.org/news/cl111.txt and \ 

Functionality Added or Changed

When invoked with the --all-databases option, mysqldump now dumps the mysql \ 
database first, so that when the dump file is reloaded, any accounts named in \ 
the DEFINER clause of other objects will already have been created.

Bugs Fixed

InnoDB: The full-text search synchronization thread attempted to read a \ 
previously-freed word from the index cache.

InnoDB: Calls to numa_all_nodes_ptr were replaced by the numa_get_mems_allowed() \ 
function. Thanks to Daniel Black for the contribution.

Replication: When the system variable transaction_write_set_extraction=XXHASH64 \ 
is set, which is the default in MySQL 8.0 and a requirement for Group \ 
Replication, the collection of writes for a transaction previously had no upper \ 
size limit. Now, for standard source to replica replication, the numeric limit \ 
on write sets specified by binlog_transaction_dependency_history_size is \ 
applied, after which the write set information is discarded but the transaction \ 
continues to execute. Because the write set information is then unavailable for \ 
the dependency calculation, the transaction is marked as non-concurrent, and is \ 
processed sequentially on the replica. For Group Replication, the process of \ 
extracting the writes from a transaction is required for conflict detection and \ 
certification on all group members, so the write set information cannot be \ 
discarded if the transaction is to complete. The byte limit set by \ 
group_replication_transaction_size_limit is applied instead of the nu
meric limit, and if the limit is exceeded, the transaction fails to execute.

Replication: As the number of replicas replicating from a semisynchronous source \ 
server increased, locking contention could result in a performance degradation. \ 
The locking mechanisms used by the plugins have been changed to use shared locks \ 
where possible, avoid unnecessary lock acquisitions, and limit callbacks. The \ 
new behaviors can be implemented by enabling the following system variables:

replication_sender_observe_commit_only=1 limits callbacks.

replication_optimize_for_static_plugin_config=1 adds shared locks and avoids \ 
unnecessary lock acquisitions. This system variable must be disabled if you want \ 
to uninstall the plugin.

Both system variables can be enabled before or after installing the \ 
semisynchronous replication plugin, and can be enabled while replication is \ 
running. Semisynchronous replication source servers can also get performance \ 
benefits from enabling these system variables, because they use the same locking \ 
mechanisms as the replicas.

Replication: On a multi-threaded replica where the commit order is preserved, \ 
worker threads must wait for all transactions that occur earlier in the relay \ 
log to commit before committing their own transactions. If a deadlock occurs \ 
because a thread waiting to commit a transaction later in the commit order has \ 
locked rows needed by a transaction earlier in the commit order, a deadlock \ 
detection algorithm signals the waiting thread to roll back its transaction. \ 
Previously, if transaction retries were not available, the worker thread that \ 
rolled back its transaction would exit immediately without signalling other \ 
worker threads in the commit order, which could stall replication. A worker \ 
thread in this situation now waits for its turn to call the rollback function, \ 
which means it signals the other threads correctly.

Replication: GTIDs are only available on a server instance up to the number of \ 
non-negative values for a signed 64-bit integer (2 to the power of 63 minus 1). \ 
If you set the value of gtid_purged to a number that approaches this limit, \ 
subsequent commits can cause the server to run out of GTIDs and take the action \ 
specified by binlog_error_action. From MySQL 8.0.23, a warning message is issued \ 
when the server instance is approaching the limit.

Microsoft Windows: On Windows, running the MySQL server as a service caused \ 
shared-memory connections to fail.

The server did not handle all cases of the WHERE_CONDITION optimization correctly.

For the engines which support primary key extension, when the total key length \ 
exceeded MAX_KEY_LENGTH or the number of key parts exceeded MAX_REF_PARTS, key \ 
parts of primary keys which did not fit within these limits were not added to \ 
the secondary key, but key parts of primary keys were unconditionally marked as \ 
part of secondary keys.

This led to a situation in which the secondary key was treated as a covering \ 
index, which meant sometimes the wrong access method was chosen.

This is fixed by modifying the way in which key parts of primary keys are added \ 
to secondary keys so that those which do not fit within which do not fit within \ 
the limits mentioned previously mentioned are cleared.

Privileges for some INFORMATION_SCHEMA tables were checked incorrectly.

In certain cases, the server did not handle multiply-nested subqueries correctly.

Certain accounts could cause server startup failure if the skip_name_resolve \ 
system variable was enabled.

Client programs could unexpectedly exit if communication packets contained bad data.

A buffer overflow in the client library was fixed.

mysql_config_editor incorrectly treated # in password values as a comment character.
   2021-01-01 09:24:59 by Ryo ONODERA | Files touched by this commit (266)
Log message:
*: Recursive revbump from boost-1.75.0
   2020-12-31 21:04:14 by Nia Alarie | Files touched by this commit (38)
Log message:
Normalize handling packages that require 64-bit atomic ops.