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

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

Branch: CURRENT, Version: 5.7.34, Package name: mysql-client-5.7.34, 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: d1842baea3abc4b4cd684186e88b123d854d4ed7
RMD160: f23902a074cb7bcd05dc7ef8c04186021c4d689c
Filesize: 54834.229 KB

Version history: (Expand)

CVS history: (Expand)

   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.
   2020-10-21 15:34:50 by Adam Ciarcinski | Files touched by this commit (6) | Package updated
Log message:
mysql57: updated to 5.7.32

Changes in MySQL 5.7.32 (2020-10-19, General Availability)

Functionality Added or Changed

Bugs Fixed

Functionality Added or Changed

LOCK TABLES privilege checking for views was improved.

Bugs Fixed

InnoDB: A query that updated the clustered index of an internal temporary table \ 
returned an incorrect result. The modified pages of the clustered index were not \ 
added to the flush list resulting in lost changes when the modified pages were \ 
evicted from the buffer pool.

References: This issue is a regression of:

InnoDB: An ALTER TABLE ... IMPORT TABLESPACE operation on a large encrypted and \ 
compressed table failed with a Page decompress failed after reading from disk \ 
error. The decryption operation did not use the encryption block size used \ 
during encryption. Also, the encryption process did not consider compressed \ 
length, while the decryption process decrypts data by compressed length only.

InnoDB: A failure occurred during a concurrent update operation. The failure was \ 
due to an invalid previous record value.

InnoDB: The function used to process the SHOW ENGINE INNODB MUTEX statement was \ 
insufficiently isolated from other threads adding new mutexes concurrently.

InnoDB: The buffer control block structure (buf_block_t) was freed while \ 
reducing the size of the buffer pool, causing an assertion failure. The fix for \ 
this bug also backports important aspects of the fix for

range query returned a truncated result. The end range flag was not reset at the \ 
beginning of the index read resulting in an aborted read and missing rows.

References: This issue is a regression of:

InnoDB: A full-text phrase search raised an assertion failure.

Thanks to TXSQL (Tencent MySQL) for the contribution.

References: This issue is a regression of:

InnoDB: A long running statistics calculation operation on a large table blocked \ 
other operations requiring access to the table's statistics, causing those \ 
operations to fail. A new statistics calculation mutex was introduced, which \ 
permits concurrent access table statistics.

Thanks to Kamil Holubicki for the contribution.

InnoDB: Two connections attempted to use the same transaction handler object \ 
resulting in a stalled query.

Replication: When a replication source server shuts down and restarts, its \ 
MEMORY tables become empty. To replicate this effect to replicas, the first time \ 
that the source uses a given MEMORY table after startup, it logs an event that \ 
notifies replicas that the table must be emptied by writing a statement to the \ 
binary log to that effect. Previously, this was a DELETE statement, but it is \ 
now a TRUNCATE TABLE statement. A replica server also writes this statement to \ 
its own binary log when it shuts down and restarts. The statement is always \ 
logged in statement format, even if the binary logging format is set to ROW, and \ 
it is written even if read_only or super_read_only mode is set on the server.

Replication: When the system variable session_track_gtids was set to OWN_GTID on \ 
a multithreaded replica, the replica’s performance would degrade over time and \ 
begin to lag behind the master. The cause was the buildup of the GTIDs recorded \ 
by the replica’s worker threads at each transaction commit, which increased \ 
the time taken by the worker threads to insert new ones. Session state tracking \ 
is now disabled for worker threads on a multithreaded replica. Thanks to \ 
Facebook for the contribution.

Certain cases of successful LDAP authentication could cause the server to hang.

In bootstrapping mode, certain multiple-statement transactions could cause \ 
unexpected server behavior.

Sensitive LDAP authentication plugin system variables now display as asterisks \ 
when retrieved in SQL statements.

After the fix for

References: This issue is a regression of:

Some INSERT statements were not handled correctly.

Certain prepared statements could cause an unexpected server exit.

mysqlpump object validation included objects in excluded databases.

LDAP authentication plugins enforced CA verification incorrectly, which could \ 
result in use of an incorrect CA.

ORDER BY queries were not executed correctly when sort_buffer_size and \ 
max_sort_length were set to values which caused the internal limit on the \ 
maximum number of keys allowed per sort buffer to be set to 0.

A large number of nested arguments in full-text search query caused an error.

When explicit_defaults_for_timestamp was disabled and a NULL was inserted into a \ 
generated column declared as TIMESTAMP NOT NULL, the server would attempt to \ 
convert the inserted value to CURRENT_TIMESTAMP. Such an insertion is now \ 
rejected with ER_BAD_NULL_ERROR.

An assertion could be raised when the SQL layer passed incorrect information to \ 
InnoDB about the type of operation to be performed on a temporary table.
   2020-09-22 21:39:27 by Havard Eidnes | Files touched by this commit (1)
Log message:
On powerpc, pull in devel/libatomic, so that this package builds.
Build fix only for this platform; detection for -latomic is already there.
OK'ed by gdt@