Log message:
mysql57: updated to 5.7.24
Changes in MySQL 5.7.24
Deprecation and Removal Notes
* InnoDB; Partitioning: Support for placing table partitions in shared \
tablespaces is deprecated and will be removed in a future version of MySQL. \
Shared tablespaces include the system tablespace and general tablespaces. For \
information about identifying partitions in shared tablespaces and moving them \
to file-per-table tablespaces, see Preparing Your Installation for Upgrade.
* InnoDB: Support for TABLESPACE = innodb_file_per_table and TABLESPACE = \
innodb_temporary clauses with CREATE TEMPORARY TABLE is deprecated and will be \
removed in a future MySQL version.
Functionality Added or Changed
Replication: Use the group_replication_exit_state_action option to configure how \
Group Replication behaves when a member leaves the group involuntarily, for \
example when it is expelled from the group due to an unstable network \
connection. When group_replication_exit_state_action is set to ABORT_SERVER, \
upon exiting the group unintentionally, the instance shuts MySQL down, and when \
group_replication_exit_state_action is set to READ_ONLY the instance sets MySQL \
to super read only mode instead and its state is set to ERROR.
Previously, file I/O performed in the I/O cache in the mysys library was not \
instrumented, affecting in particular file I/O statistics reported by the \
Performance Schema about the binary log index file. Now, this I/O is \
instrumented and Performance Schema statistics are accurate. Thanks to Yura \
Sorokin for the contribution.
The zlib library version bundled with MySQL was raised from version 1.2.3 to \
version 1.2.11. MySQL implements compression with the help of the zlib library.
The zlib compressBound() function in zlib 1.2.11 returns a slightly higher \
estimate of the buffer size required to compress a given length of bytes than it \
did in zlib version 1.2.3. The compressBound() function is called by InnoDB \
functions that determine the maximum row size permitted when creating compressed \
InnoDB tables or inserting rows into compressed InnoDB tables. As a result, \
CREATE TABLE ... ROW_FORMAT=COMPRESSED or INSERT operations with row sizes very \
close to the maximum row size that were successful in earlier releases could now \
fail.
Bugs Fixed
* InnoDB: An ALTER TABLE operation that added a primary key produced a \
segmentation fault.
* InnoDB: A query that scanned the primary key of a table did not return the \
expected result.
* InnoDB: A query interruption during a lock wait caused an error.
* InnoDB: An index record was not found when updating a secondary index defined \
on a generated column.
* InnoDB: The update log applied as part of an online ALTER TABLE operation did \
not take into account the computed value of the generated column in the old row \
while updating the secondary index.
* InnoDB: An unsupported DDL operation involving a foreign key constraint raised \
an assertion.
* InnoDB: An attempted foreign key check on a discarded table caused a \
segmentation fault.
* InnoDB: An assertion was raised during an OPTIMIZE TABLE operation.
* InnoDB: A foreign key constraint name was duplicated during a rename table \
operation, causing a failure during later query execution.
* InnoDB: In a function called before the execution of a statement in a stored \
procedure, a read and write operation on trx->lock.start_stmt was not \
protected by a mutex.
* InnoDB: An error occurred during a DDL operation due to a mismatch in a \
REDUNDANT row format calculation that determines the length of the online log.
* InnoDB: The location of the Innodb Merge Temp File that reported by the \
wait/io/file/innodb/innodb_temp_file Performance Schema instrument was \
incorrect.
* Partitioning: When a CREATE TABLE ... PARTITION BY ... statement failed due to \
an invalid partition definition, the server did not remove any partition files \
which might have been created prior to encountering the invalid PARTITION \
clause.
* Partitioning: It was possible to perform FLUSH TABLES FOR EXPORT on a \
partitioned table created with innodb_file_per_table=1 after discarding its \
tablespace. Attempting to do so now raises ER_TABLESPACE_DISCARDED.
* Replication: When the binlog_group_commit_sync_delay system variable is set to \
a wait time to delay synchronization of transactions to disk, and the \
binlog_group_commit_sync_no_delay_count system variable is also set to a number \
of transactions, the MySQL server exits the wait procedure if the specified \
number of transactions is reached before the specified wait time is reached. The \
server manages this process by checking on the transaction count after a delta \
of one tenth of the time specified by binlog_group_commit_sync_delay has \
elapsed, then subtracting that interval from the remaining wait time.
more...
|
Log message:
mysql57: updated to 5.7.23
5.7.23:
Functionality Added or Changed
Previously, for the --ssl-mode=VERIFY_IDENTITY or --ssl-verify-server-cert \
option, the client checked whether the host name that it used for connecting \
matched the Common Name value in the certificate but not the Subject Alternative \
Name value. Now, if the client uses OpenSSL 1.0.2 or higher, the client checks \
whether the host name matches either the Subject Alternative Name value or the \
Common Name value in the server certificate. Thanks to Daniƫl van Eeden for a \
patch on which this change was based.
Bugs Fixed
Important Change; Partitioning: After creating partitioned InnoDB tables with \
very long names, the table_name columns in the corresponding entries in the \
mysql.innodb_index_stats and mysql.innodb_table_stats system tables were \
truncated. To fix this issue, the length of the table_name column in each of \
these tables has been increased from 64 to 199 characters. In both cases, this \
is now the same as the lengths of these columns in MySQL 8.0.
InnoDB: The ngram full-text search parser permitted comma and period characters \
to be tokenized as words, which caused an inconsistency between boolean and \
natural language mode search results. Comma and period characters are no longer \
tokenized.
InnoDB: An I/O error returned by an fsync() operation is now treated as a hard error.
InnoDB: A schema mismatch error reported during an import tablespace operation \
failed to print mismatched table flags in a readable format.
InnoDB: A DDL operation failed to wait for a FULLTEXT index optimization \
operation to finish.
InnoDB: An unnecessary check for read-only transactions was removed from the \
trx_set_rw_mode() function. Thanks to Sandeep Sethia for the patch.
InnoDB: A DDL operation that added a foreign key constraint raised an assertion \
when it accessed a stale memory object that belonged to the parent table.
InnoDB: A DDL operation on a table with a FULLTEXT index during full-text index \
cache synchronization caused an assertion failure.
InnoDB: A failing assertion occurred after initiating a memcached get operation.
InnoDB: A corrupt index ID encountered during a foreign key check raised an \
assertion.
InnoDB: An internal deadlock during a DDL operation resulted in a long semaphore \
wait followed by a server exit.
InnoDB: A DDL operation encountered a serious error due to an invalid lock upgrade.
InnoDB: On a Windows 64-bit system, invalid buffer pool configuration values \
caused the server to exit on startup.
Partitioning: For a partitioned table, partition update time could be incorrect \
after rebuilding the table or restarting the server.
Partitioning: An extraneous row lock was imposed by an update to a partitioned \
InnoDB table.
Replication: The log messages generated when a member fails to join the group \
have been improved, for example when group_replication_group_name on the member \
joining the group does not match the seed's group_replication_group_name this is \
now described in the log message.
Replication: The ER_GRP_RPL_SQL_SERVICE_FAILED_TO_RUN_SQL_QUERY error was being \
logged incorrectly.
Replication: The use of replication filters or binary log filters can cause \
issues when they are applied to tables that are updated with XA transactions. \
Filtering of tables could cause an XA transaction to be empty on a replication \
slave, and empty XA transactions are not supported. Also, with the settings \
master_info_repository=TABLE and relay_log_info_repository=TABLE on a \
replication slave, which became the defaults in MySQL 8.0, the internal state of \
the data engine transaction is changed following a filtered XA transaction, and \
can become inconsistent with the replication transaction context state.
Due to these issues, the use of replication filters or binary log filters in \
combination with XA transactions is not supported. This fix adds the new error \
ER_XA_REPLICATION_FILTERS, which is logged whenever an XA transaction is \
impacted by a replication filter, whether or not the transaction was empty as a \
result. If the transaction is not empty, the replication slave is able to \
continue running, but you should take steps to discontinue the use of \
replication filters with XA transactions in order to avoid potential issues. If \
the transaction is empty, the replication slave stops. In that event, the \
replication slave might be in an undetermined state in which the consistency of \
the replication process might be compromised. In particular, the gtid_executed \
set on a slave of the slave might be inconsistent with that on the master. To \
resolve this situation, isolate the master and stop all replication, then check \
GTID consistency across the replication topology. Undo the XA tran
saction that generated the error message, then restart replication.
Replication: When a transaction larger than the binary log transaction cache \
size (binlog_cache_size) was flushed to a temporary file during processing, and \
the flush failed due to a lack of space in the temporary directory, the flush \
error was not handled correctly. No message was written to the error log, and \
the binary log cache was not cleared after the transaction was rolled back. Now, \
in this situation, the server takes an appropriate action based on the \
binlog_error_action setting (shut down the server or halt logging), and writes a \
message to the error log. When the transaction is rolled back, the server checks \
for flush errors and clears the binary log cache if any occurred.
Replication: Using an IP address or hostname in any Group Replication related \
configuration on macOS was failing.
Replication: When GTIDs are in use for replication, replicated transactions that \
are filtered out on the slave are persisted. If binary logging is enabled on the \
slave, the filtered-out transaction is written to the binary log as a \
Gtid_log_event followed by an empty transaction containing only BEGIN and COMMIT \
statements. If binary logging is disabled, the GTID of the filtered-out \
transaction is written to the mysql.gtid_executed table. This process ensures \
that there are no gaps in the set of executed GTIDs, and that the filtered-out \
transactions are not retrieved again if the slave reconnects to the master. \
Previously, this process was not done for CREATE DATABASE, ALTER DATABASE, and \
DROP DATABASE statements, but it is now carried out for those statements as well \
as for others.
Replication: On a multithreaded slave, when a STOP SLAVE statement is executed \
on the slave, followed by a START SLAVE statement, the error log can report a \
different position in the binary log for the slave SQL thread when exiting, \
compared to the position reported for the slave SQL thread at the subsequent \
initialization.
For a multithreaded slave, the position reported for the SQL thread on exit is a \
low water mark, up to which the replication stream is consistent and has no \
gaps. Transactions appearing before the position are guaranteed to have \
committed, but transactions after the position may have committed or not. \
However, this low water mark was being reported before the process to stop the \
worker threads was actually carried out, and the low water mark was subsequently \
updated by a checkpoint routine during that process. The timing of the log \
message has now been changed so that the final low water mark is reported as the \
position for the SQL thread on exit.
Replication: In certain situations, such as during distributed recovery \
procedure, the certification info garbage collection was purging more data than \
it should, resulting in conflicts not being detected. The garbage collection \
procedure has been improved to take this case in consideration.
Replication: When the group_replication_applier channel's applier thread \
encountered an error, the master_log_name and end_log_pos in the error message \
were incorrect. In Group Replication, the events of a transaction are replicated \
before they are written to the binary log of the member where the transaction \
originated. The result is that the final master_log_name and the end_log_pos of \
those events are unknown at the time they are applied on the replica by \
group_replication_applier channel's applier thread. To avoid confusion, now any \
such error messages encountered by a group_replication_applier channel do not \
contain the binary log name and the binary log position.
A heap overflow vulnerability in the MySQL client library was fixed.
For generated columns that used the INTERVAL() function, incorrect behavior \
could occur.
The exec_in_background command for mysqltest is now available in MySQL 5.7.
An unencrypted connection could result from a client connection attempt \
specifying that an encrypted connection was required, if the server was not \
configured to support SSL.
A BETWEEN clause comparing negative values could lead to erroneous results.
Audit log filter rules did not permit class names to be specified as an array of \
strings.
|