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
programs/libraries.
The main goals of MySQL are speed and robustness.
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.
2022-04-28 15:19:04 by Adam Ciarcinski | Files touched by this commit (4) |  |
Log message:
mysql57: updated to 5.7.38
Changes in MySQL 5.7.38
SQL Function and Operator Notes
When the mysql client was started with --default-character-set=utf8mb4, \
successive calls to the UUID() function returned duplicate values.
Security Notes
The linked OpenSSL library for MySQL Server has been updated to version 1.1.1n \
from 1.1.1l. Issues fixed in OpenSSL are described at \
https://www.openssl.org/news/cl111.txt and at \
http://www.openssl.org/news/vulnerabilities.html.
Functionality Added or Changed
The default for the group_replication_transaction_size_limit system variable, \
which sets the maximum transaction size that a replication group accepts, is \
changed from zero (no limit) to 150000000 bytes (approximately 143 MB), which is \
the same as the default in MySQL 8.0. Setting a limit for this system variable \
by default helps to avoid delays or errors caused by excessively large \
transactions. Transactions above the limit are rolled back and are not sent to \
Group Replication's Group Communication System (GCS) for distribution to the \
group. If your Group Replication servers previously accepted transactions larger \
than the new default limit, and you were allowing \
group_replication_transaction_size_limit to default to the old zero limit, those \
transactions will start to fail after the upgrade to the new default. You must \
either specify an appropriate size limit that allows the maximum message size \
you need the group to tolerate (which is the recommended solution), or specify
a zero setting to restore the previous behavior.
The myisam_repair_threads system variable and myisamchk --parallel-recover \
option are deprecated; expect support for both to be removed in a future release \
of MySQL.
Values other than 1 (the default) for myisam_repair_threads produce a warning.
Bugs Fixed
InnoDB: A missing null pointer check for an index instance caused a failure.
InnoDB: Purge threads processed undo records of an encrypted table for which the \
tablespace was not loaded, causing a failure.
InnoDB: Incorrect AUTO_INCREMENT values were generated when the maximum integer \
column value was exceeded. The error was due to the maximum column value not \
being considered. The previous valid AUTO_INCREMENT value should have been \
returned in this case, causing a duplicate key error.
Partitioning: In some cases, establishing a connection to MySQL server could \
fail if the .ibd file for a partition was missing.
Statements that cannot be parsed (due, for example, to syntax errors) are no \
longer written to the slow query log.
It was not possible to revoke the DROP privilege on the Performance Schema.
A page cleaner thread timed out as it waited for an exclusive lock on an index \
page held by a full-text index creation operation on a large table.
A memory leak occurred if mysqldump was used on more than one table with the \
--order-by-primary option. The memory allocated for sorting each table’s rows \
is now freed after every table, rather than only once.
mysqld_safe log message textual errors were corrected.
|
2022-01-21 12:23:50 by Adam Ciarcinski | Files touched by this commit (5) |  |
Log message:
mysql57: updated to 5.7.37
Changes in MySQL 5.7.37
Audit Log Notes
Previously, each event logged by MySQL Enterprise Audit included the SQL \
statement literal text. To provide an alternative (because it is possible that \
statements contain sensitive information), the audit log filtering language now \
supports logging a statement's digest rather than its literal text. For example, \
instead of logging this statement:
SELECT * FROM orders WHERE some_sensitive_column=1234567
The audit log plugin can log this digest:
SELECT * FROM `orders` WHERE `some_sensitive_column` = ?
This is similar to what is already logged for prepared statements, for which \
parameter markers appear rather than actual data values.
To perform digest logging, use audit filter definitions that replace the \
statement literal text by its corresponding digest, as discussed in Replacement \
of Event Field Values.
Because text replacement occurs at an early auditing stage (during filtering), \
the choice of whether to log statement literal text or digest values applies \
regardless of log format written later (that is, whether the audit log plugin \
produces XML or JSON output).
Compilation Notes
Binary packages that include curl rather than linking to the system curl library \
have been upgraded to use curl 7.80.0.
SQL Function and Operator Notes
Queries making use of the MBRContains() function did not employ all available \
spatial indexes.
The FORMAT() function returned a formatted number without showing the thousands \
separator and grouping between separators when either the es_ES or es_MX locale \
was specified.
Packaging Notes
The GnuPG build key used to sign MySQL downloadable packages has been updated. \
The previous GnuPG build key is set to expire on 2022-02-16. For information \
about verifying the integrity and authenticity of MySQL downloadable packages \
using GnuPG signature checking, or to obtain a copy of our public GnuPG build \
key, see Signature Checking Using GnuPG.
Due to the GnuPG key update, systems configured to use repo.mysql.com may report \
a signature verification error when upgrading to MySQL 5.7.37 and higher or to \
MySQL 8.0.28 and higher using apt or yum. Use one of the following methods to \
resolve this issue:
Manually reinstall the MySQL APT or YUM repository setup package from \
https://dev.mysql.com/downloads/.
Download the MySQL GnuPG public key and add it your system GPG keyring.
For MySQL APT repository instructions, see Appendix A: Adding and Configuring \
the MySQL APT Repository Manually.
For MySQL YUM repository instructions, see Upgrading MySQL with the MySQL Yum \
Repository.
Bugs Fixed
InnoDB: The buf_validate() function in the InnoDB sources was optimized, \
improving performance on debug builds.
Thanks to Hobert Lu for the contribution.
Partitioning: Creating a table with nondeterministic functions in generated \
column expressions should not be possible, but this was not enforced in all \
cases; a series of one or more ALTER TABLE statements could be employed to \
arrive at a partitioned table with one or more such generated columns. When \
attempting to execute the CREATE TABLE statement obtained by running SHOW CREATE \
TABLE against this table, MySQL rejected the statement with a misleading error \
message referring to the partitioning expression rather than to the problematic \
column, despite the fact that the partitioning expression itself was legal.
This was caused by the result of a check for any unsafe expressions defined for \
a generated column (in the internal variable thd->safe_to_cache_query), which \
was later checked again without being cleared while parsing the partition \
expression, leading to an error even when the partition expression did not refer \
to the problematic generated column expression. Now in such cases, we reset \
thd->safe_to_cache_query before parsing the partition function.
The issue of allowing the use of certain nondeterminstic functions \
(AES_ENCRYPT(), AES_DECRYPT(), RANDOM_BYTES()) in generated columns is handled \
separately.
Partitioning: A query using an index other than the primary key of a partitioned \
table sometimes resulted in excessive CPU load.
Replication: When the PAD_CHAR_TO_FULL_LENGTH SQL mode was enabled on a replica \
server, trailing spaces could be added to a replication channel’s name in the \
replication metadata repository tables, resulting in errors in replication \
operations that identified the channel using that data. The issue has now been \
fixed in MySQL 8.0 by using VARCHAR for character columns, and in MySQL 5.7 by \
disabling the SQL mode when reading from those tables. Thanks to Brian Yue for \
the contribution.
MySQL 5.7 did not handle the thread_stack variable in the same manner as MySQL \
5.6 or MySQL 8.0.
It was possible in some cases to create a generated column of type SERIAL, which \
is not allowed.
See Numeric Data Type Syntax, and CREATE TABLE and Generated Columns, for more \
information
Statements which commit a transaction implicitly or explicitly are not allowed \
inside a trigger or a stored function. Both CREATE TRIGGER and CREATE FUNCTION \
should report an error (ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG) in this case, but \
did not correctly handle DROP TABLESPACE.
The MySQL session used for online keyring migration was not closed gracefully \
after the migration was complete, resulting in an “Aborted connection” note \
being printed to the error log.
SHOW PROCESSLIST could read freed memory when accessing the query string \
belonging to a connection that was in the process of deleting a prepared \
statement.
Privileges were not checked correctly for ALTER USER ... IDENTIFIED WITH ... BY.
|
2022-01-10 02:46:47 by Ryo ONODERA | Files touched by this commit (273) |
Log message:
*: Recursive revbump from boost 1.78.0
|
2021-11-10 12:03:52 by Jonathan Perkin | Files touched by this commit (2) |
Log message:
mysql57-client: Support OpenSSL 3.
|
2021-10-26 12:10:08 by Nia Alarie | Files touched by this commit (417) |
Log message:
databases: Replace RMD160 checksums with BLAKE2s checksums
All checksums have been double-checked against existing RMD160 and
SHA512 hashes
The following distfiles could not be fetched (some may be only fetched
conditionally):
./databases/cstore/distinfo D6.data.ros.gz
./databases/cstore/distinfo cstore0.2.tar.gz
./databases/cstore/distinfo data4.tar.gz
|
2021-10-19 20:57:37 by Adam Ciarcinski | Files touched by this commit (6) |  |
Log message:
mysql57: updated to 5.7.36
Changes in MySQL 5.7.36
Security Notes
Bugs Fixed
Security Notes
The linked OpenSSL library for MySQL Server has been updated to version 1.1.1l. \
Issues fixed in the new OpenSSL version are described at \
https://www.openssl.org/news/cl111.txt and and \
http://www.openssl.org/news/vulnerabilities.html.
Bugs Fixed
Incompatible Change: For all SELECT statements on a view, the query digest was \
based on the view definition. As a result, different queries had the same digest \
and aggregated together in the Performance Schema table \
events_statements_summary_by_digest, so statistics in that table were not usable \
for distinguishing distinct SELECT statements.
The query digest for each SELECT statement on a view now is based on the SELECT, \
not the view definition. This enables distinguishing distinct SELECT statements \
in the events_statements_summary_by_digest table. However, tools that use query \
digests may need some adjustment to account for this change. For example, MySQL \
Enterprise Firewall and query rewrite plugins rely on query digests and existing \
rules for them that are associated with views may need to be updated.
InnoDB: With undo log truncation enabled (innodb_undo_log_truncate=ON), it was \
possible for a deadlock and eventual failure to occur when an undo log truncate \
operation was initiated after a version upgrade from MySQL 5.6 to MySQL 5.7.34 \
or earlier. A patch introduced in MySQL 5.7.35
[Note] InnoDB: Found duplicate reference rseg: 33 space: 1 page: 3
[Note] InnoDB: Reset pre-5.7.2 rseg: 1 after duplicate is found.
If pre-5.7.2 rollback segment slots have no undo data to purge, a message \
similar to the following is emitted:
[Note] InnoDB: Successfully reset 32 pre-5.7.2 rseg slots.
If undo data is found in pre-5.7.2 rollback segment slots, a message similar to \
the following is emitted recommending a slow shutdown and restart:
[Note] InnoDB: pre-5.7.2 rseg: 2 holds data to be purged.
History length: 1. Recommend slow shutdown with innodb_fast_shutdown=0 and restart
InnoDB: Truncation of an undo tablespace during use by an active transaction \
raised an assertion failure. The transaction was prematurely marked as complete, \
permitting the truncation operation.
InnoDB: Deleting or updating a row from a parent table initiated a cascading SET \
NULL operation on the child table that set a virtual column value to NULL. The \
virtual column value should have been derived from the base column value.
Thanks to Yin Peng at Tencent for the contribution.
InnoDB: The InnoDB recovery process did not recognize that page compression had \
been applied to data that was being recovered, causing the tablespace data file \
to increase in size during the redo log apply phase, which could lead to a \
recovery failure for systems approaching a disk-full state.
Replication: The error messages issued by MySQL Replication when GTIDs required \
for auto-positioning have been purged could be incorrectly assigned or scrambled \
in some situations.
Replication: The contents of the gtid_executed and gtid_purged GTID sets were \
not persisted after restoring a dump taken using mysqldump. The dump file \
sequence has now been changed so that the mysql schema (which contains the \
mysql.gtid_executed table) is not dropped after the gtid_purged GTID set is \
written. A new option --skip-mysql-schema is added for mysqldump which lets you \
choose not to drop the mysql schema at all.
JSON: Conversion of JSON values to text caused linear growth of the destination \
string, resulting in an unnecessarily high number of reallocations. Now this \
process uses exponential growth instead, to reduce the number of allocations \
required.
This fix originally appeared in MySQL 8.0 and was backported to MySQL 5.7 by \
Annirudh Prasad, whom we thank for the contribution.
Concurrent insert operations on multiple tables with full-text indexes caused a \
large number of full-text index synchronization requests, resulting in an out of \
memory condition.
When a query uses a temporary table for aggregation, the group by item is used \
as a unique constraint on the temporary table: If the item value is already \
present, the row is updated; otherwise, a new row is inserted into the temporary \
table. If the item has a result field or reference item, it it evaluated twice, \
once to check whether the result exists in the temporary table and, if not, \
again while constructing the row to be inserted. When the group by item was \
nondeterministic, the result value used to check for existence differed from \
that with which an insert was attempted, causing the insert to be rejected if \
the value already existed in the table.
We fix this by using the hash of any nondeterministic items as the unique \
constraint, so that the hash is evaluated once only.
Quote handling was improved for the SHOW GRANTS statement.
|
2021-10-07 15:35:53 by Nia Alarie | Files touched by this commit (417) |
Log message:
databases: Remove SHA1 distfile hashes
|
2021-09-29 21:01:31 by Adam Ciarcinski | Files touched by this commit (872) |
Log message:
revbump for boost-libs
|