You may have noticed that MySQL 8.0.26 was released today (yea!) and I recommend reading the release notes but here are some of the highlights.
- TLS version 1 and 1.1 are deprecated. Please use later versions such as 1.2 and 1.3 (you made need OpenSSL 1.1.1 or higher too).
- More information in the server log on client timeouts includes the timeout value, and client user and host when that information is available
- Internal functions to copy values between columns are improved and test at about11% faster (YMMV)
But some of you may be seeing the following messages:
The syntax 'sync_master_info' is deprecated and will be removed in a future release. Please use sync_source_info instead.
'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
What does that mean?
The first warning is part of a continuing process of replacing offensive terms (see MySQL Terminology Updates) and the new syntax is sync_source_info, replacing sync_master_info. These changes are much more involved than a simple global search and replace in the source code. According to the release notes most of the changes have been made along with the corresponding help text.
The second is a warning about upcoming changes in STRICT MODE (stricter mode?) adding settings.
From the MySQL Manual
The default SQL mode in MySQL 8.0 includes these modes: ONLY_FULL_GROUP_BY
, STRICT_TRANS_TABLES
, NO_ZERO_IN_DATE
, NO_ZERO_DATE
, ERROR_FOR_DIVISION_BY_ZERO
, and NO_ENGINE_SUBSTITUTION
.
And also peek at Strict SQL Mode
And as of 8.0.26 you can set your session to strict mode only if you the privileges' to set restricted variables.
As usual you can download from https://www.mysql.com/downloads/