Bugs Fixed
NDB Cluster: Occasional temporary errors which could occur when
opening a table from the NDB dictionary while repeatedly performing
concurrent schema operations were not retried. (Bug #34843889)
NDB Cluster: During iteration, ordered index scans retain a cursor
position within each concurrently scanned ordered index fragment.
Ordered index fragments are modified and balanced as a result of
committing DML transactions, which can require scan cursors to be moved
within the tree. When running with query threads configured
(AutomaticThreadConfig set to 1), multiple threads can access the same
index fragment tree structure, and the scans of multiple threads can
have their cursors present in the same structure.
The current issue arose due to an assumption in the logic for moving
scan cursors when committing DML operations that all scan cursors
belonged to the LDM thread owning the index fragment, which did not
allow for the possibility that such fragments might belong to query
threads. (Bug #33379702)
References: See also: Bug #32257063.
InnoDB: Dead code removal. (Bug #35036850, Bug #109873)
InnoDB: Error messages related to innodb_doublewrite moved to the
error log. (Bug #34883045, Bug #109330)
InnoDB: Prevent online DDL operations from accessing out-of-bounds
memory. (Bug #34750489, Bug #108925)
InnoDB: ALTER TABLE ... AUTO_INCREMENT could be set to less than MAX
+ 1 and not forced to MAX + 1. (Bug #33419246, Bug #105092)
InnoDB: Innodb_data_pending_fsyncs could show extremely high
inaccurate values because of a variable overflow. (Bug #30133150)
Partitioning: Some IN() queries on partitioned tables were not
always handled correctly. (Bug #34801284)
References: This issue is a regression of: Bug #32311183.
Partitioning: Queries using the INDEX_MERGE optimizer hint was not
handled correctly in all cases. (Bug #34797257)
Replication: XA transactions whose XIDs contained null bytes could
not be recovered. (Bug #34918985)
Replication: When binlog_order_commits was set equal to 1, for any
two transactions and for any sub-step of the commit phase, the
transaction that was written to the binary log first did not always
execute the sub-step first, as expected. (Bug #34703698)
Replication: Some binary log events were not always handled
correctly. (Bug #34617506)
Replication: The binary log recovery process did not report all
possible error states. (Bug #33658850)
Replication: Following CHANGE REPLICATION SOURCE TO
SOURCE_CONNECTION_AUTO_FAILOVER=1, failover generated a number of
misleading warnings in the log that implied there were problems when in
fact conditions were those expected for such a failover. These log
messages have been updated accordingly. (Bug #32135376)
Replication: When a transaction failed, as a side effect, extraneous
error messages relating the replication data repositories were written
to the log. Now in such cases, we suppress such error messages, which
are not directly related to the issue of the failed transaction or its
cause. (Bug #19820134)
Replication: Setting binlog_order_commits to OFF could lead to a
missed GTID in the next binary log file's Previous_gtids event.
Our thanks to Yewei Xu and the Tencent team for the contribution.
(Bug #109485, Bug #34930969)
Replication: Corrected the SQL statements suggested in the error
message text for ER_RPL_REPLICA_ERROR_RUNNING_QUERY.
Our thanks to Dan McCombs for the contribution. (Bug #109154, Bug
Replication: A hash scan builds a hash of changes, scans the target
table or index, and applies any matching change for the current entry.
In the build phase, it uses only the before image, and skips any after
image. Problems arose in some cases because generated columns were
computed for the (skipped) after image, leading to replication errors.
This is fixed by not computing generated columns any longer for
seek-only calls such as hash scans.
Our thanks to dc huang for the contribution. (Bug #107366, Bug
Replication: In certain rare cases, it was possible to set
gtid_mode=OFF for one session while another session, after
WAIT_FOR_EXECUTED_GTID_SET() was issued by a user in this second
session, was still waiting for the next GTID set from the first session.
This could result in the second session waiting indefinitely for the
function to return. (Bug #99921, Bug #31505993)
Group Replication: Accessing the Performance Schema
replication_group_communication_information and
replication_group_member_stats tables in parallel sometimes caused
subsequent group replication operations to hang. (Bug #34870181)
Group Replication: In certain cases, the group replication secondary
node unexpectedly shut down while purging the relay log. (Bug #34397106)
Group Replication: When shutting down the Group Replication plugin,
the order in which the associated events were reported the error log
sometimes led to confusion. To remove any doubts, we now make sure that
Plugin group_replication reported: 'Plugin 'group_replication' has been
stopped. is in fact the last log message relating to the shutdown,
written only when all other events associated with shutting down the
plugin have been logged. (Bug #109345, Bug #34887491)
Microsoft Windows: The authentication_fido_client plugin stopped
responding during the authentication process if it was unable to find a
FIDO device on the Windows client host. (Bug #34918044)
In certain cases, CONVERT(utf8mb3_column USING UTF16) was rejected
with the error Cannot convert string '\x--...' from binary to utf16.
(Bug #35129361)
When joining two tables on a string column, and the column from one
of the tables has an additional predicate comparing it with a temporal
literal, constant propagation in some cases incorrectly caused the join
condition to be modified such that it used temporal rather than string
semantics when comparing the strings. This caused incorrect results to
be returned from the join. (Bug #35115909)
Error messages returned after calling the mysql_reset_connection() C
API function in a prepared statement did not identify the function name
properly. (Bug #35107280)
Fixed a regression in a previous fix for an issue with windowing
functions.
Our thanks to Dmitry Lenev for the contribution. (Bug #35061924)
References: This issue is a regression of: Bug #34572136.
When replacing subqueries in transforms, the internal flag showing
whether a given query block contains any subqueries (PROP_SUBQUERY) was
not updated afterwards. (Bug #35060385)
A client setting the character set to an impermissible client
character set (ucs2, utf16, utf16le, or utf32) could cause unexpected
behavior when the client used an authentication plugin. (Bug #35054579)
Changelog:
https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-33.html
Sponsored by: Netzkommune GmbH
- Bump PORTREVISION for package change
Not all supported FreeBSD releases has openssl.pc in base system. This patch
adds a check for openssl.pc. It helps to build databases/py-mysqlclient.
If you do not have openssl.pc from your SSL provider.
Before the fix:
% grep Requires.private: /usr/local/libdata/pkgconfig/mysqlclient.pc
Requires.private: openssl
After the fix:
% grep Requires.private: /usr/local/libdata/pkgconfig/mysqlclient.pc
Requires.private:
The build log [1] of databases/py-mysqlclient without the fix:
===> Building for py39-mysqlclient-2.2.0
* Getting build dependencies for wheel...
Package openssl was not found in the pkg-config search path.
Perhaps you should add the directory containing `openssl.pc'
to the PKG_CONFIG_PATH environment variable
Package 'openssl', required by 'mysqlclient', not found
Trying pkg-config --exists mysqlclient
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
main()
File "/usr/local/lib/python3.9/site-packages/pyproject_hooks/_in_process/_in_process.py", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "/usr/local/lib/python3.9/site-packages/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
return hook(config_settings)
File "/usr/local/lib/python3.9/site-packages/setuptools/build_meta.py", line 177, in get_requires_for_build_wheel
return self._get_build_requires(
File "/usr/local/lib/python3.9/site-packages/setuptools/build_meta.py", line 159, in _get_build_requires
self.run_setup()
File "/usr/local/lib/python3.9/site-packages/setuptools/build_meta.py", line 174, in run_setup
exec(compile(code, __file__, 'exec'), locals())
File "setup.py", line 154, in <module>
ext_options = get_config_posix(get_options())
File "setup.py", line 50, in get_config_posix
cflags = subprocess.check_output(
File "/usr/local/lib/python3.9/subprocess.py", line 424, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File "/usr/local/lib/python3.9/subprocess.py", line 528, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command 'pkg-config --cflags mysqlclient' returned non-zero exit status 1.
ERROR Backend subprocess exited when trying to invoke get_requires_for_build_wheel
*** Error code 1
Stop.
make: stopped in /usr/ports/databases/py-mysqlclient
Approved by: portmgr (blanket)
Reference: https://pkg-status.freebsd.org/beefy16/data/131amd64-default/0f3f003a3111/logs/py39-mysqlclient-2.2.0.log [1]
Bugs Fixed
Important Change: The implementation of the max_join_size system variable, although documented as a maximum number of rows or disk seeks, did not check the number of rows or disk seeks directly, but instead treated max_join_size as the maximum estimated cost to permit. While cost and row count are correlated, they are not the same, and this could lead to unexpected results when some large queries were allowed to proceed.
In this release, we change how max_join_size is used, so that it now actually limits the maximum number of row accesses in base tables. If the estimate indicates that a greater number of rows must be read from the base tables, an error is raised. This makes the actual behavior better reflect what is documented. (Bug #83885, Bug #25118903)
InnoDB: Undetectable problems after upgrade from 8.0.28, crash and corruption.
Any new row inserted after upgrade will have all columns added with ALGORITHM=INSTANT materialized and have version=0.
In the new implementation, a column added with ALGORITHM=INSTANT will fail if the maximum possible size of a row exceeds the row size limit. So new rows with materialized ALGORITHM=INSTANT columns will always be within row size limit. (Bug #34558510)
InnoDB: No more garbled UTF characters in SHOW ENGINE INNODB STATUS
Thank you Iiwo Panowicz for reporting this bug. (Bug #34486877, Bug #108111)
InnoDB: After a column added with ALGORITHM=INSTANT, an online rebuild DDL no longer crashes.
Thank you Qingda Hu for reporting this bug. (Bug #33788578, Bug #106279)
InnoDB: Several adaptive hash index (AHI) code optimizations and improvements were implemented, addressing various issues including potential race conditions. (Bug #33601434)
Replication: When SOURCE_HEARTBEAT_PERIOD was set to a very small value (such as 1 microsecond) on the server using CHANGE REPLICATION SOURCE TO, and the mysqlbinlog client program was started with --read-from-remote-server and --stop-never=1, it was possible for the binary log dump thread to send an EOF packet to the client before all events had been sent. (Bug #34860923)
Replication: Removed an assert from sql/rpl_group_replication.cc which triggered a false error in testing. (Bug #34619134)
Replication: After MySQL was started with --server-id=0, trying to change the server ID by using SET PERSIST server_id=N (where N is an integer greater than zero) and restarting the server had the following results:
SELECT @@server_id returned N.
Any replication SQL statement such as START REPLICA was rejected with ER_SLAVE_CONFIGURATION.
To fix this problem, we now ensure that such checks use the value of the server variable rather than the value passed to the startup option. (Bug #34412816)
Replication: When replicating compressed binary log events generated by the NDB binary log injector, relay log positions were not updated in the multithreaded applier, thus causing replication to hang. (Bug #33889030)
References: See also: Bug #33784241.
Replication: Issuing STOP REPLICA SQL_THREAD while the SQL thread was handling a transaction caused replication to stop immediately, instead of waiting 60 seconds for the event group to complete before shutting down the SQL thread as expected.
The root cause of this issue was due to the internal variable storing the last event start time not being reset after the SQL thread was restarted.
We fix this by resetting the variable holding the last event start time whenever the SQL thread is started. (Bug #33646899)
Replication: While their wording might imply otherwise, the log messages Setting super_read_only=ON (ER_GRP_RPL_SUPER_READ_ON) and Setting super_read_only=OFF (ER_GRP_RPL_SUPER_READ_OFF) were written only after the operations were attempted, and not beforehand, or while the operations were ongoing. This sometimes led to confusion when setting the variable was rejected, and this was logged prior to the set attempt itself being logged. To keep this from happening, these messages are now logged just prior to attempting the operation. (Bug #108843, Bug #34728079)
Replication: The relay_log_space_limit system variable is a 64-bit value, but its valid maximum was specified internally as that of a 32-bit value. (Bug #106323, Bug #33799840)
Replication: Eliminated an unnecessary update of the gtid_executed table which was performed when rotating the binary logs. (Bug #106116, Bug #33759477)
Group Replication: The WRITE_CONSENSUS_SINGLE_LEADER_CAPABLE column of the MySQL Performance Schema's replication_group_communication_information table reflects the runtime value of a Paxos Single Leader setup in a group, letting users know what the value of group_replication_paxos_single_leader must be on joining members.
A group that was bootstrapped with single-leader enabled but with its protocol version downgraded to one that did not support it reported WRITE_CONSENSUS_SINGLE_LEADER_CAPABLE equal to 0, as expected, but attempting to join an instance to the group using group_replication_paxos_single_leader = 0 was not possible.
To solve this problem, we change the behaviour and make the value of group_replication_paxos_single_leader consistent with the communication version that the group is running. Since this variable was introduced in MySQL 8.0.27, it is not known or used in any previous version, and so we now enforce the following rules:
When a node tries to join a group that is running MySQL 8.0.26 or earlier and we are version 8.0.27 or later, we reject the attempt with an error stating that group_replication_paxos_single_leader must be OFF before joining the group
When we try to use group_replication_set_communication_protocol() to set a version less than 8.0.27 and we are of version 8.0.27 or later, we reject the function call if group_replication_paxos_single_leader is not OFF.
In addition, we also change the value checked to determine whether changing the group leader is allowed after running group_replication_set_communication_protocol(). Previously, this was the runtime value of group_replication_paxos_single_leader, which takes effect only after a group reboot. Instead, when we run group_replication_set_communication_protocol(), we now use the value shown by the replication_group_communication_information table's WRITE_CONSENSUS_SINGLE_LEADER_CAPABLE column, described previously. (Bug #34555045, Bug #34828311)
Full Changelog: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-32.html
Sponsored by: Netzkommune GmbH
Update deprecated configs in my.cnf.sample
Some configs in my.cnf.sample are now deprecated. These should be replaced with their replacement, or removed if there is no replacement.
- Replace deprecated slave-load-tmpdir with replica-load-tmpdir
- Remove deprecated master-info-repository (it was set to the default)
- Remove deprecated relay-log-info-repository (it was set to the default)
- Replace deprecated expire_logs_days with binlog_expire_logs_seconds (multiply 30 days by 24 * 60 * 60)
- Replace deprecated innodb_log_file_size with innodb_redo_log_capacity (preserving the same configured capacity, which was set to 256M * 2 log files)
- Remove deprecated skip-symbolic-links (it is the default)
PR: 266511
Sponsored by: Netzkommune GmbH
PR: 265468
Bugs Fixed:
- InnoDB: A TRUNCATE TABLE operation failed to remove data dictionary entries for columns that were dropped using ALGORITHM=INSTANT.
- InnoDB: An incorrect nullable column calculation on tables with instantly added columns caused data to be interpreted incorrectly
- InnoDB: The read_2_bytes() function in the InnoDB sources, which reads bytes from the log buffer, returned a null pointer.
- Replication: The COUNT_TRANSACTIONS_REMOTE_IN_APPLIER_QUEUE column in the Performance Schema table replication_group_member_stats could persistently show transactions related to view change events (View_change_log_event) that had already been applied. These events are queued in the Group Replication applier channel but applied in the Group Replication recovery channel, causing a race condition that could result in the counter decrement being lost. The increment of the count now takes place at a more suitable point, and the counter for COUNT_TRANSACTIONS_REMOTE_IN_APPLIER_QUEUE is also now set to zero when the applier is not busy.
- Debug MySQL binaries can now be built using -0g and -fno-inline.
See full Changelog here: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-30.html
Sponsored by: Netzkommune GmbH
Bugs Fixed
InnoDB: A failure occurred when attempting to purge undo records for a table with an instantly added column. (Bug #33924532)
InnoDB: High-priority transactions were not permitted to stop waiting when interrupted or to timeout while waiting for a lock, preventing deadlocks from being resolved. In cases where the blocking transaction is also high-priority, high-priority transactions are now permitted to stop waiting when interrupted or timeout when exceeding the lock wait timeout period. If a blocking transaction is not high-priority, high-priority transactions wait for the blocking transaction to release its locks. (Bug #33856332)
InnoDB: The AIO synchronization queue used on Windows was removed. The synchronous file I/O read-write function (SyncFileIO::execute) was revised to handle files opened for both normal and overlapped I/O, as it does on Linux. (Bug #33840645)
InnoDB: Table version metadata was not reset after truncating all partitions of a table with an instantly added column. (Bug #33822729)
InnoDB: The srv_error_monitor_thread() function, which prints warnings about semaphore waits, failed to handle a long semaphore wait as expected. To address this issue, a blocking call was moved to a more appropriate location. Related monitor thread code was simplified and improved, and missing shutdown signals were added for several server threads.
Enabling and disabling of the standard monitor by InnoDB is now performed independently of the user-settable innodb_status_output variable. This change addresses an issue in which the monitor was enabled by InnoDB in a particular scenario but not set back to its previous value. Thanks to Yuhui Wang for the contribution. (Bug #33789526, Bug #93878)
InnoDB: Valgrind testing identified an off-by-one error in rec_convert_dtuple_to_rec_old() in the InnoDB sources. (Bug #33784672)
InnoDB: The UNIV_DEBUG variant of the mem_heap_alloc() function in the InnoDB sources was modified to improve Valgrind error detection. (Bug #33783709)
InnoDB: A fast shutdown did not wait for all active I/O operations to finish before closing all files. (Bug #33768584)
InnoDB: A Clang warning reported an incorrectly placed @return command. (Bug #33734011)
InnoDB: Values of the new record locks array (m_prebuilt->new_rec_locks[]) were not properly synchronized when switching between partitions, causing an assertion failure due to locks being freed or not freed as expected. (Bug #33724166)
InnoDB: A race condition in the function that updates the double write buffer when a write request is completed caused a long semaphore wait error. (Bug #33712370)
InnoDB: A function wrongly assumed that changing a record in an indexed column always requires creating a new record in the secondary index, resulting in an lock-related assertion failure. To address this and other similar cases, the lock_rec_convert_impl_to_expl() function that converts an implicit record lock to an explicit record lock is now used only when an implicit record lock is actually held. (Bug #33657235)
InnoDB: A number of Doxygen issues in the InnoDB sources were addressed. (Bug #33603036)
InnoDB: A missing null pointer check for an index instance caused a failure. (Bug #33600109)
Full (and long) relnotes: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-29.html
Sponsored by: Netzkommune GmbH
- Replace getauxval with the FreeBSD variant (elf_aux_info)
- ifdef some gcc'ism and pass the correct cflags for clang
Approved by: portmgr (build fix blanket)
PR: 261660
Include sys/types.h to make u_int32_t available:
/usr/include/netinet/ip6.h:77:4: error: 'u_int32_t' does not name a type; did you mean 'uint32_t'?
MFH: 2020Q4 (fix build blanket)
- Performance: Certain queries against tables with spatial indexes were not performed as efficiently following an upgrade from MySQL 5.7 to MySQL 8.0.
- NDB Cluster: NDB defines one SPJ worker per node owning a primary partition of the root table. If this table used read from any replica, DBTC put all SPJ workers in the same DBSPJ instance, which effe
- NDB Cluster: Executing the SHOW command using an ndb_mgm client binary from NDB 8.0.16 or earlier to access a management node running NDB 8.0.17 or later produced the error message Unknown field: is_s
- On EL7 and EL8, CMake configuration was adjusted to look for GCC 9 before GCC 8. Because libmysqlclient ships with MySQL distributions, client applications built against libmysqlclient on those platfo
- The max_length_for_sort_data system variable is now deprecated due to optimizer changes that make it obsolete and of no effect.
More Infos: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-20.html
Special thanks to: fluffy
MFH: 2020Q2
Security: 21d59ea3-8559-11ea-a5e2-d4c9ef517024 (MySQL - Server)
Security: 622b5c47-855b-11ea-a5e2-d4c9ef517024 (MySQL - Client)
Sponsored by: Netzkommune GmbH
- New FPROFILE_GENERATE and FPROFILE_USE CMake options are available for experimenting with profile guided optimization (PGO) with GCC. See the cmake/fprofile.cmake in a MySQL source distribution for information about using them. These options have been tested with GCC 8 and 9, and with Clang.
- Enabling FPROFILE_USE also enables WITH_LTO (link time optimization).
- Innodb_system_rows_read, Innodb_system_rows_inserted, Innodb_system_rows_deleted status variables were added for counting row operations on InnoDB tables that belong to system-created schemas. The new status variables are similar to the existing Innodb_rows_read, Innodb_rows_inserted, Innodb_rows_deleted status variables, which count operations on InnoDB tables that belong to both user-created and system-created schemas.
- The new status variables are useful in replication environments where relay_log_info_repository and master_info_repository variables are set to TABLE, resulting in higher row operation counts on slaves due to operations performed on the slave_master_info, slave_replay_log_info, and slave_worker_info tables, which belong to the system-created mysql schema. For a valid comparison of master and slave row operation counts, operations on tables in system-created schemas can now be excluded using the count data provided by the new status variables.
More infos: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-19.html
Submitted by: fluffy
Approved by: mmokhi (maintainer, implicit)
Sponsored by: Netzkommune GmbH
switch patch-files to mysql80-server to make it easy for maintain.
Bugfix:
- CMake now enables use of fastcov if it is available. fastcov is faster than lcov or gcov. This requires GCC and gcov versions of 9 or higher.
- The DISABLE_SHARED CMake option was unused and has been removed.
- The CMake code to find Protobuf executables now works on platforms that split these into multiple packages.
- The new ADD_GDB_INDEX CMake option determines whether to enable generation of a .gdb_index section in binaries, which makes loading them in a debugger faster. The option is disabled by default. It has no effect if a linker other than lld or GNU gold is used.
- For the INSTALL_LAYOUT CMake option, the SLES and WIN option values were not used and have been removed.
- The max_prepared_stmt_count system variable maximum value has been increased from 1 million (1,048,576) to 4 million (4,194,304). The default value remains unchanged at 16,382.
- MySQL 8.0 no longer supports building using wolfSSL. All MySQL builds now use OpenSSL.
- The RE2 library is no longer used by MySQL. The library is no longer bundled with source distributions and the WITH_RE2 CMake option is obsolete.
More Infos: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-18.html
A big thanks to @fluffy for his help with this update
MFH: 2020Q1
Security: fc91f2ef-fd7b-11e9-a1c7-b499baebfeaf
Sponsored by: Netzkommune GmbH
This update includes security fixes on issues that are
mentioned on upstream critical patch report.
Further info:
https://www.oracle.com/technetwork/security-advisory/cpujul2019-5072835.html#AppendixMSQL
Delete upstream-merged patches
Change other local-patches according upstream changes
PR: 239272
Reported by: Markus Kohlmeyer <rootservice@gmail.com>
Sponsored by: EuroBSDCon 2019 DevSummit
This update includes:
Bugfixes:
- InnoDB: Undo tablespaces remained unencrypted after enabling
undo tablespace encryption at startup. (Bug #29477795)
- InnoDB: Problematic macros introduced with undo tablespace DDL support
(Bug #29324132, Bug #94243).
- InnoDB: Static thread local variables defined at the wrong scope
were not released at thread exit. (Bug #29305186)
- Memory leaks discovered in the innochecksum (Bug #28917614, Bug #93164).
New features:
- MySQL C API now supports asynchronous functions for
nonblocking communication with the MySQL server.
- MySQL now supports a new Chinese collation, utf8mb4_zh_0900_as_cs
- CMake now causes the build process to link with the llvm lld linker
for Clang if it is available.
Security Fix:
CVE-2019-2632, CVE-2019-2693, CVE-2019-2694, CVE-2019-2695 and other fixes.
More info: https://www.oracle.com/technetwork/security-advisory/cpuapr2019-5072813.html#AppendixMSQL
PR: 237399
Reported by: Brent Busby <brent@jfi.uchicago.edu>
Sponsored by: The FreeBSD Foundation
This update (released on Jan 21st) includes:
Bugs Fixed:
Important Change: Fix importing a dump from a MySQL 5.7 server 8.0 failure.
(ER_WRONG_VALUE_FOR_VAR, when an unsupported [by 8.0] SQL mode was used).
The behavior of the server in such circumstances now depends on the setting of the
`pseudo_slave_mode` system variable.
If this is false, the server rejects the mode setting with ER_UNSUPPORTED_SQL_MODE.
Otherwise, server just gives a warning. (Bug #90337, Bug #27828236).
InnoDB: Properly initialize the static thread-local 'tables' variable in
the TempTable storage engine (on Solaris X86) was not properly initialized.
(Bug #28987365)
InnoDB: Fix incorrect lock order caused a deadlock when one thread attempted to
drop a table while another created an encrypted tablespace. (Bug #28774259)
More info from upstream:
https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-14.html
While here, Adapt some local patches with new upstream changes.
PR: 234984
Sponsored by: The FreeBSD Foundation
This update fixes several issues including CVEs.
Bug-fixes:
- Return better error messages for OpenSSL errors
- Incorrect copying of an integer value by X Plugin caused an
error relating to misaligned memory access
Improvement:
- Important Change: X Protocol now provides a connection pooling option
Upstream notes: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-13
While here, fix the build with GCC-based architectures too (ported from fix on MySQL57)
Sponsored by: The FreeBSD Foundation
This update includes Oracle Critical Patch Advisory published on July 2018
More info:
http://www.oracle.com/technetwork/security-advisory/cpujul2018-4258247.html#AppendixMSQL
Also:
Delete upstreamed hunks of patches.
Change local patches regarding upstream changes.
PR: 229861
Reported by: Markus Kohlmeyer <rootservice@gmail.com>
Sponsored by: The FreeBSD Foundation
Fix build with LibreSSL and OpenSSL-devel ports as well
MySQL 8.0.11 is the General Availability (GA) version of MySQL 8.
MySQL since this version supports FIPS-mode, if compiled using OpenSSL, AND
an OpenSSL library and FIPS Object Module are available at runtime.
FIPS mode imposes conditions on cryptographic operations such as
restrictions on acceptable encryption algorithms or requirements for longer key lengths.
The --ssl-fips-mode client option enables control of FIPS mode on the client side for:
mysql, mysqladmin, mysqlbinlog, mysqlcheck, mysqldump, mysqlimport, mysqlpump, ...
This update includes bugfixes including (not limited to):
-InnoDB: The server was stopped before a fatal error message
was written to the error log.
-InnoDB: An incorrect GROUP BY result was returned when using the
TempTable storage engine and a NO PAD collation.
-InnoDB: The data retrieved from INFORMATION_SCHEMA.INNODB_COLUMNS was
incorrect for tables containing a virtual column.
Full Release-Notes are available at:
https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-11.html
Regarding to the changes to rc.subr(8) it is no longer necessary to
define a resource limiting logic in service scripts.
limits(1) is now run by default and its configuration is handled
via the "${name}_limits" variable.
This however causes collision of variable names and also is not
compatible with the old mechanism.
This fixes the rc-script of mysql80 for the bases with both
old and new mechanism.
(This is port of the r466505 [and r466506])
PR: 227231
Submitted by: 0mp
Reported by: 0mp
Sponsored by: Netzkommune GmbH
Changes happened into format of --version which caused r450384
Reviewed by: mat (mentor)
Approved by: mat (mentor)
Sponsored by: Netzkommune GmbH
Differential Revision: https://reviews.freebsd.org/D12579