MySQL 8.3.0 DBMS ์‚ฌ์šฉ ๊ฐ€๋Šฅ

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

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€