ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Oracle ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π»Π° Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ Π‘Π£ΠΠ MySQL 8.3 ΠΈ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»Π° ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΡΡΡΠ΅Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ MySQL 8.0.36. Π‘Π±ΠΎΡΠΊΠΈ MySQL Community Server 8.3.0 ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² Linux, FreeBSD, macOS ΠΈ Windows.
MySQL 8.3.0 ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ΅ΡΡΠΈΠΌ Π²ΡΠΏΡΡΠΊΠΎΠΌ, ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ Π² ΡΠ°ΠΌΠΊΠ°Ρ Π½ΠΎΠ²ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅Π»ΠΈΠ·ΠΎΠ², ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΠ΅ΠΉ Π½Π°Π»ΠΈΡΠΈΠ΅ Π΄Π²ΡΡ ΡΠΈΠΏΠΎΠ² Π²Π΅ΡΠΎΠΊ MySQL — «Innovation» ΠΈ «LTS». ΠΠ΅ΡΠΊΠΈ Innovation, ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΎΡΠ½Π΅ΡΠ΅Π½Ρ MySQL 8.1, 8.2 ΠΈ 8.3, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½Ρ Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ Ρ ΠΎΡΠ΅Ρ ΡΠ°Π½ΡΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π½ΠΎΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠ°Π½Π½ΡΠ΅ Π²Π΅ΡΠΊΠΈ ΠΏΡΠ±Π»ΠΈΠΊΡΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠ΅ 3 ΠΌΠ΅ΡΡΡΠ° ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π»ΠΈΠ·Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΠΊΠΈ 8.3 ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²Π΅ΡΠΊΠΈ 8.2). LTS-Π²Π΅ΡΠΊΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½Ρ Π΄Π»Ρ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎΡΡΡ ΠΈ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ. LTS Π²Π΅ΡΠΊΠΈ Π±ΡΠ΄ΡΡ Π²ΡΠΏΡΡΠΊΠ°ΡΡΡΡ ΡΠ°Π· Π² Π΄Π²Π° Π³ΠΎΠ΄Π° ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π² ΡΡΠ°ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ 5 Π»Π΅Ρ, Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΅ΡΡ 3 Π³ΠΎΠ΄Π° ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ. ΠΠ΅ΡΠ½ΠΎΠΉ 2024 Π³ΠΎΠ΄Π° ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ LTS-ΡΠ΅Π»ΠΈΠ· MySQL 8.4, ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Π° Π½ΠΎΠ²Π°Ρ Innovation-Π²Π΅ΡΠΊΠ° 9.0.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² MySQL 8.3:
- Π£ΡΡΡΠ°Π½Π΅Π½ΠΎ 25 ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ΄Π½Π° (CVE-2023-5363, Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Π΅Ρ OpenSSL) ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠΈΡΠΎΠ²Π°Π½Π° ΡΠ΄Π°Π»ΡΠ½Π½ΠΎ. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ΅ΡΡΡΠ·Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²ΡΠ·Π°Π½Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Kerberos, ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ ΡΡΠΎΠ²Π΅Π½Ρ ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ 8.8. ΠΠ΅Π½Π΅Π΅ ΠΎΠΏΠ°ΡΠ½ΡΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Ρ ΡΡΠΎΠ²Π½Π΅ΠΌ ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ 6.5 Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΎΡ, UDF, DDL, DML, ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ, ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ.
- ΠΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ Linux Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊΠ° mold. ΠΠ»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π° ΠΎΠΏΡΠΈΡ «-DWITH_LD=mold|lld».
- Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΡ C++ ΠΏΠΎΠ΄Π½ΡΡΡ Ρ C++17 Π΄ΠΎ C++20.
- ΠΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ±ΠΎΡΠΊΠΈ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ Boost C++ — ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ MySQL ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Boost. Π CMake ΡΠ΄Π°Π»Π΅Π½Ρ ΡΠ±ΠΎΡΠΎΡΠ½ΡΠ΅ ΠΎΠΏΡΠΈΠΈ WITH_BOOST, DOWNLOAD_BOOST ΠΈ DOWNLOAD_BOOST_TIMEOUT.
- ΠΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ±ΠΎΡΠΊΠΈ Π² Visual Studio 2022. ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠ°Ρ Π²Π΅ΡΡΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Clang ΠΏΠΎΠ²ΡΡΠ΅Π½Π° Ρ Clang 10 Π΄ΠΎ Clang 12.
- Π MySQL Enterprise Edition Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ±ΠΎΡΠ° ΡΠ΅Π»Π΅ΠΌΠ΅ΡΡΠΈΠΈ Ρ ΠΌΠ΅ΡΡΠΈΠΊΠ°ΠΌΠΈ ΠΎ ΡΠ°Π±ΠΎΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ° Π² ΡΠΎΡΠΌΠ°ΡΠ΅ OpenTelemetry ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠΉ Π΄Π°Π½Π½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ.
- Π Π°ΡΡΠΈΡΠ΅Π½ ΡΠΎΡΠΌΠ°Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² GTID (global transaction identifier), ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΉ ΠΏΡΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π³ΡΡΠΏΠΏ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ. ΠΠΎΠ²ΡΠΉ ΡΠΎΡΠΌΠ°Ρ GTID — «UUID:<TAG>:NUMBER» (Π²ΠΌΠ΅ΡΡΠΎ «UUID:NUMBER»), Π³Π΄Π΅ TAG ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅ΠΉ Π½Π°Π·Π½Π°ΡΠ°ΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΉ Π³ΡΡΠΏΠΏΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΡΠ°Π·Π±ΠΎΡΠ°.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π΄Π²Π΅ Π½ΠΎΠ²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ «Deprecated_use_i_s_processlist_count» ΠΈ «Deprecated_use_i_s_processlist_last_timestamp» Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΡ INFORMATION_SCHEMA.PROCESSLIST.
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ AUTHENTICATION_PAM_LOG Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ Π² Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΡ (Π΄Π»Ρ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ ΠΏΠ°ΡΠΎΠ»Ρ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ PAM_LOG_WITH_SECRET_INFO).
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΠ°Π±Π»ΠΈΡΠ° tp_connections Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ Π² ΠΏΡΠ»Π΅ ΠΏΠΎΡΠΎΠΊΠΎΠ² (thread pool).
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ «explain_json_format_version» Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° Π²Π΅ΡΡΠΈΠΈ ΡΠΎΡΠΌΠ°ΡΠ° JSON, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΡ «EXPLAIN FORMAT=JSON».
- Π Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ InnoDB ΡΠ΄Π°Π»Π΅Π½Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ «—innodb» ΠΈ «—skip-innodb», ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ»ΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌΠΈ Π΅ΡΡ Π² Π²ΡΠΏΡΡΠΊΠ΅ MySQL 5.6. Π£Π΄Π°Π»ΡΠ½ ΠΏΠ»Π°Π³ΠΈΠ½ memcached ΠΊ InnoDB, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠΉ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌ Π² MySQL 8.0.22.
- Π£Π΄Π°Π»Π΅Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ ΠΎΠΏΡΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌΠΈ Π² ΠΏΡΠΎΡΠ»ΡΡ Π²ΡΠΏΡΡΠΊΠ°Ρ : «—slave-rows-search-algorithms», «—relay-log-info-file», «—relay-log-info-repository», «—master-info-file», «—master-info-repository», «log_bin_use_v1_events», «transaction_write_set_extraction», «group_replication_ip_whitelist», «group_replication_primary_member». ΠΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΡΠΈΠΈ IGNORE_SERVER_IDS Ρ ΡΠ΅ΠΆΠΈΠΌΠΎΠΌ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ GTID (gtid_mode=ON).
- ΠΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΉ Π‘ API: mysql_kill(), mysql_list_fields(), mysql_list_processes(), mysql_refresh(), mysql_reload(), mysql_shutdown(), mysql_ssl_set().
- ΠΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ «FLUSH HOSTS», ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌ Π² MySQL 8.0.23.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru