Oracle์ MySQL 8.3 DBMS์ ์๋ก์ด ๋ถ๊ธฐ๋ฅผ ๊ตฌ์ฑํ๊ณ MySQL 8.0.36์ ๋ํ ์์ ์ ๋ฐ์ดํธ๋ฅผ ๊ฒ์ํ์ต๋๋ค. MySQL Community Server 8.3.0 ๋น๋๋ ๋ชจ๋ ์ฃผ์ Linux, FreeBSD, macOS ๋ฐ Windows ๋ฐฐํฌํ์ ์ํด ์ค๋น๋์์ต๋๋ค.
MySQL 8.3.0์ "ํ์ "๊ณผ "LTS"๋ผ๋ ๋ ๊ฐ์ง ์ ํ์ MySQL ๋ธ๋์น๋ฅผ ์ ๊ณตํ๋ ์๋ก์ด ๋ฆด๋ฆฌ์ค ๋ชจ๋ธ์ ๋ฐ๋ผ ํ์ฑ๋ ์ธ ๋ฒ์งธ ๋ฆด๋ฆฌ์ค์ ๋๋ค. MySQL 8.1, 8.2 ๋ฐ 8.3์ ํฌํจํ๋ Innovation ๋ธ๋์น๋ ์๋ก์ด ๊ธฐ๋ฅ์ ๋ ์ผ์ฐ ์ก์ธ์คํ๋ ค๋ ์ฌ์ฉ์์๊ฒ ๊ถ์ฅ๋ฉ๋๋ค. ์ด๋ฌํ ๋ถ๊ธฐ๋ 3๊ฐ์๋ง๋ค ๊ฒ์๋๋ฉฐ ๋ค์ ์ฃผ์ ๋ฆด๋ฆฌ์ค๊ฐ ๊ฒ์๋ ๋๊น์ง๋ง ์ง์๋ฉ๋๋ค(์: 8.3 ๋ถ๊ธฐ๊ฐ ๋ฑ์ฅํ ํ 8.2 ๋ถ๊ธฐ์ ๋ํ ์ง์์ด ์ค๋จ๋จ). ์์ธก ๊ฐ๋ฅ์ฑ๊ณผ ๋ณ๊ฒฝ๋์ง ์์ ๋์์ ์ฅ๊ธฐ์ ์ธ ์ง์์ฑ์ด ํ์ํ ๊ตฌํ์๋ LTS ๋ถ๊ธฐ๊ฐ ๊ถ์ฅ๋ฉ๋๋ค. LTS ๋ธ๋์น๋ 5๋ ๋ง๋ค ์ถ์๋๋ฉฐ 3๋ ๋์ ์ ์์ ์ผ๋ก ์ง์๋๋ฉฐ, ์ถ๊ฐ๋ก 2024๋ ์ถ๊ฐ ์ง์์ ๋ฐ์ ์ ์์ต๋๋ค. MySQL 8.4์ LTS ๋ฆด๋ฆฌ์ค๋ 9.0๋ ๋ด์ ์ถ์๋ ์์ ์ด๋ฉฐ, ์ดํ ์๋ก์ด ํ์ ๋ธ๋์น XNUMX์ด ๊ตฌ์ฑ๋ ์์ ์ ๋๋ค.
MySQL 8.3์ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ:
- 25๊ฐ์ ์ทจ์ฝ์ ์ด ์์ ๋์์ผ๋ฉฐ, ๊ทธ ์ค ํ๋(CVE-2023-5363, OpenSSL์ ์ํฅ์ ๋ฏธ์นจ)๋ ์๊ฒฉ์ผ๋ก ์ ์ฉ๋ ์ ์์ต๋๋ค. Kerberos ํ๋กํ ์ฝ ์ฌ์ฉ๊ณผ ๊ด๋ จ๋ ๊ฐ์ฅ ์ฌ๊ฐํ ๋ฌธ์ ์๋ ์ฌ๊ฐ๋ ์์ค 8.8์ด ํ ๋น๋์ด ์์ต๋๋ค. ์ฌ๊ฐ๋ ์์ค 6.5์ ๋ ์ฌ๊ฐํ ์ทจ์ฝ์ ์ ์ต์ ํ ํ๋ก๊ทธ๋จ, UDF, DDL, DML, ๋ณต์ , ๊ถํ ์์คํ ๋ฐ ์ํธํ ๋๊ตฌ์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
- Linux ํ๋ซํผ์ ๊ธํ ๋ง์ปค์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ด๋ฅผ ํ์ฑํํ๊ธฐ ์ํด "-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::NUMBER"("UUID:NUMBER" ๋์ )์ ๋๋ค. ์ฌ๊ธฐ์ TAG๋ ๋ณด๋ค ์ฌ์ด ์ฒ๋ฆฌ ๋ฐ ๊ตฌ๋ฌธ ๋ถ์์ ์ํด ํน์ ํธ๋์ญ์ ๊ทธ๋ฃน์ ๊ณ ์ ํ ์ด๋ฆ์ ํ ๋นํ ์ ์๋ ์์ ๋ฌธ์์ด์ ๋๋ค.
- ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ INFORMATION_SCHEMA.PROCESSLIST ํ ์ด๋ธ์ ์ฌ์ฉ์ ์ถ์ ํ๊ธฐ ์ํด ๋ ๊ฐ์ ์๋ก์ด ๋ณ์ "Deprecated_use_i_s_processlist_count" ๋ฐ "Deprecated_use_i_s_processlist_last_timestamp"๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- AUTHENTICATION_PAM_LOG ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ๋ฉด ๋ ์ด์ ์ง๋จ ๋ฉ์์ง์ ๋น๋ฐ๋ฒํธ๊ฐ ํ์๋์ง ์์ต๋๋ค(๋น๋ฐ๋ฒํธ๋ฅผ ์ธ๊ธํ๋ ค๋ฉด PAM_LOG_WITH_SECRET_INFO ๊ฐ์ด ํ์ํจ).
- ์ค๋ ๋ ํ์ ๊ฐ ์ฐ๊ฒฐ์ ๋ํ ์ ๋ณด๊ฐ ํฌํจ๋ tp_connections ํ ์ด๋ธ์ ์ถ๊ฐํ์ต๋๋ค.
- "EXPLAIN FORMAT=JSON" ๋ฌธ์ ์ฌ์ฉ๋๋ JSON ํ์ ๋ฒ์ ์ ์ ํํ๊ธฐ ์ํด ์์คํ ๋ณ์ "explain_json_format_version"์ ์ถ๊ฐํ์ต๋๋ค.
- InnoDB ์คํ ๋ฆฌ์ง์์๋ MySQL 5.6 ๋ฆด๋ฆฌ์ค์์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ "--innodb" ๋ฐ "--skip-innodb" ์ต์ ์ด ์ ๊ฑฐ๋์์ต๋๋ค. MySQL 8.0.22์์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ InnoDB์ฉ memcached ํ๋ฌ๊ทธ์ธ์ด ์ ๊ฑฐ๋์์ต๋๋ค.
- ์ด์ ๋ฆด๋ฆฌ์ค์์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ ์ผ๋ถ ๋ณต์ ๊ด๋ จ ์ค์ ๋ฐ ๋ช ๋ น์ค ์ต์ ์ ์ ๊ฑฐํ์ต๋๋ค: "--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". GTID ๋ณต์ ๋ชจ๋(gtid_mode=ON)์์ IGNORE_SERVER_IDS ์ต์ ์ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ์ด ์ ๊ฑฐ๋์์ต๋๋ค.
- C API ํจ์์ ๋ํ ์ง์์ด ์ค๋จ๋์์ต๋๋ค: mysql_kill(), mysql_list_fields(), mysql_list_processes(), mysql_refresh(), mysql_reload(), mysql_shutdown(), mysql_ssl_set().
- MySQL 8.0.23์์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ "FLUSH HOSTS" ํํ์์ ์ค๋จ๋์์ต๋๋ค.
์ถ์ฒ : opennet.ru