MySQL(Percona Server)์„ 5.7์—์„œ 8.0์œผ๋กœ ์—…๋ฐ์ดํŠธ

MySQL(Percona Server)์„ 5.7์—์„œ 8.0์œผ๋กœ ์—…๋ฐ์ดํŠธ

์ง„์ „์ด ์ •์ฒด๋˜์ง€ ์•Š์•„ ์ตœ์‹  ๋ฒ„์ „์˜ MySQL๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•ด์•ผ ํ•˜๋Š” ์ด์œ ๊ฐ€ ์ ์  ๋” ์„ค๋“๋ ฅ์„ ์–ป๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์–ผ๋งˆ ์ „ ์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ ์ค‘ ํ•˜๋‚˜์—์„œ ์•„๋Š‘ํ•œ Percona Server 5.7 ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋ฒ„์ „ 8๋กœ ์—…๋ฐ์ดํŠธํ•  ๋•Œ๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ชจ๋“  ์ผ์€ Ubuntu Linux 16.04 ํ”Œ๋žซํผ์—์„œ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€๋™ ์ค‘์ง€ ์‹œ๊ฐ„์„ ์ตœ์†Œํ™”ํ•˜๋ฉด์„œ ์ด๋Ÿฌํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์—…๋ฐ์ดํŠธ ์ค‘์— ๋ฐœ์ƒํ•œ ๋ฌธ์ œ๋Š” ์ด ๊ธฐ์‚ฌ์—์„œ ์ฝ์–ด๋ณด์„ธ์š”.

ํ›ˆ๋ จ

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„์˜ ๋ชจ๋“  ์—…๋ฐ์ดํŠธ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์žฌ๊ตฌ์„ฑ๊ณผ ๊ด€๋ จ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์‹œ์Šคํ…œ ๋ฆฌ์†Œ์Šค ์ œํ•œ์— ๋Œ€ํ•œ ์š”๊ตฌ ์‚ฌํ•ญ ๋ณ€๊ฒฝ ๋ฐ ์˜ค๋ž˜๋œ ์ง€์‹œ๋ฌธ์„ ์ง€์›Œ์•ผ ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์„ฑ ์ˆ˜์ •์ž…๋‹ˆ๋‹ค.

์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์ „์— ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ๋ฐ˜๋“œ์‹œ ์ฐธ๊ณ ํ•˜์„ธ์š”.

๊ทธ๋ฆฌ๊ณ  ํ–‰๋™ ๊ณ„ํš์„ ์„ธ์›Œ ๋ด…์‹œ๋‹ค.

  1. ์˜ค๋ž˜๋œ ์ง€์‹œ์–ด๋ฅผ ์ œ๊ฑฐํ•˜์—ฌ ๊ตฌ์„ฑ ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜์„ธ์š”.
  2. ์œ ํ‹ธ๋ฆฌํ‹ฐ์™€์˜ ํ˜ธํ™˜์„ฑ์„ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.
  3. ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜์—ฌ ์Šฌ๋ ˆ์ด๋ธŒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—…๋ฐ์ดํŠธ percona-server-server.
  4. ๋™์ผํ•œ ํŒจํ‚ค์ง€๋กœ ๋งˆ์Šคํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

๊ณ„ํš์˜ ๊ฐ ์ง€์ ์„ ์‚ดํŽด๋ณด๊ณ  ๋ฌด์—‡์ด ์ž˜๋ชป๋  ์ˆ˜ ์žˆ๋Š”์ง€ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ค‘์š”! Galera๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ MySQL ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ์ ˆ์ฐจ์—๋Š” ๊ธฐ์‚ฌ์— ์„ค๋ช…๋˜์ง€ ์•Š์€ ์ž์ฒด์ ์ธ ์„ธ๋ถ€ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ์—๋Š” ์ด ์ง€์นจ์„ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

1๋ถ€: ๊ตฌ์„ฑ ํ™•์ธ

MySQL์€ ๋ฒ„์ „ 8์—์„œ ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. query_cache. ์‹ค์ œ๋กœ ๊ทธ๋Š” ๊ทธ๋žฌ๋‹ค ์“ธ๋ชจ์—†๋‹ค๊ณ  ์„ ์–ธ๋จ ๋ฒ„์ „ 5.7๋กœ ๋Œ์•„๊ฐ”์ง€๋งŒ ์ง€๊ธˆ์€ ์™„์ „ํžˆ ์‚ญ์ œ๋จ. ๋”ฐ๋ผ์„œ ๊ด€๋ จ ์ง€์‹œ๋ฌธ์„ ์ œ๊ฑฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์š”์ฒญ์„ ์บ์‹œํ•˜๊ธฐ ์œ„ํ•ด ์ด์ œ ์™ธ๋ถ€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํ”„๋ก์‹œSQL.

๋˜ํ•œ ๊ตฌ์„ฑ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ค๋ž˜๋œ ์ง€์‹œ๋ฌธ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. innodb_file_format. MySQL 5.7์—์„œ InnoDB ํ˜•์‹์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค๋ฉด 8๋ฒˆ์งธ ๋ฒ„์ „์ด ์ด๋ฏธ ์ž‘๋™ํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. Barracuda ํ˜•์‹์—๋งŒ ํ•ด๋‹น.

๊ฒฐ๊ณผ์ ์œผ๋กœ ๋‹ค์Œ ์ง€์‹œ์–ด๊ฐ€ ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • query_cache_type, query_cache_limit ะธ query_cache_size;
  • innodb_file_format ะธ innodb_file_format_max.

ํ™•์ธ์„ ์œ„ํ•ด Percona Server์˜ Docker ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„ ๊ตฌ์„ฑ์„ ๋””๋ ‰ํ† ๋ฆฌ์— ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค. mysql_config_test, ๊ทธ ์˜†์— ๋ฐ์ดํ„ฐ ๋ฐ ๋กœ๊ทธ์šฉ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. Percona-์„œ๋ฒ„ ๊ตฌ์„ฑ ํ…Œ์ŠคํŠธ ์˜ˆ:

mkdir -p {mysql_config_test,mysql_data,mysql_logs}
cp -r /etc/mysql/conf.d/* mysql_config_test/
docker run  --name some-percona -v $(pwd)/mysql_config_test:/etc/my.cnf.d/  -v $(pwd)/mysql_data/:/var/lib/mysql/ -v $(pwd)/mysql_logs/:/var/log/mysql/ -e MYSQL_ROOT_PASSWORD=${MYSQL_PASSWORD} -d percona:8-centos

์š”์ : ๊ตฌ์„ฑ์— ๋”ฐ๋ผ Docker ๋กœ๊ทธ ๋˜๋Š” ๋กœ๊ทธ๊ฐ€ ์žˆ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ์ง€์‹œ๋ฌธ์„ ์„ค๋ช…ํ•˜๋Š” ํŒŒ์ผ์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ๊ฐ€์ง„ ๊ฒƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

2020-04-03T12:44:19.670831Z 0 [Warning] [MY-011068] [Server] The syntax 'expire-logs-days' is deprecated and will be removed in a future release. Please use binlog_expire_logs_seconds instead.
2020-04-03T12:44:19.671678Z 0 [Warning] [MY-013242] [Server] --character-set-server: 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
2020-04-03T12:44:19.671682Z 0 [Warning] [MY-013244] [Server] --collation-server: 'utf8_general_ci' is a collation of the deprecated character set UTF8MB3. Please consider using UTF8MB4 with an appropriate collation instead.

๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” ์—ฌ์ „ํžˆ ์ธ์ฝ”๋”ฉ์„ ํŒŒ์•…ํ•˜๊ณ  ์˜ค๋ž˜๋œ ์ง€์‹œ์–ด๋ฅผ ๊ต์ฒดํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. expire-logs-days.

2๋ถ€: ์ž‘๋™ ์ค‘์ธ ์„ค์น˜ ํ™•์ธ

์—…๋ฐ์ดํŠธ ๋ฌธ์„œ์—๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ˜ธํ™˜์„ฑ์„ ํ™•์ธํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ด€๋ฆฌ์ž๊ฐ€ ๊ธฐ์กด ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์˜ ํ˜ธํ™˜์„ฑ์„ ํ™•์ธํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

๊ณ ์ „์ ์ธ mysqlcheck ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ„๋‹จํžˆ ์‹คํ–‰ํ•˜์„ธ์š”:

mysqlcheck -u root -p --all-databases --check-upgrade

๋ฌธ์ œ๊ฐ€ ๋ฐœ๊ฒฌ๋˜์ง€ ์•Š์œผ๋ฉด ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ์ฝ”๋“œ 0์œผ๋กœ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค.

MySQL(Percona Server)์„ 5.7์—์„œ 8.0์œผ๋กœ ์—…๋ฐ์ดํŠธ

๋˜ํ•œ ์ตœ์‹  ๋ฒ„์ „์˜ MySQL์—์„œ๋„ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. mysql-์‰˜ (Percona์˜ ๊ฒฝ์šฐ ์ด๋Š” ํŒจํ‚ค์ง€์ž…๋‹ˆ๋‹ค. percona-mysql-shell). ์ด๋Š” ๊ธฐ์กด mysql ํด๋ผ์ด์–ธํŠธ๋ฅผ ๋Œ€์ฒดํ•˜๋ฉฐ ํด๋ผ์ด์–ธํŠธ ๊ธฐ๋Šฅ, SQL ์ฝ”๋“œ ํŽธ์ง‘๊ธฐ ๋ฐ MySQL ๊ด€๋ฆฌ ๋„๊ตฌ๋ฅผ ๊ฒฐํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์ „์— ์„œ๋ฒ„๋ฅผ ํ™•์ธํ•˜๋ ค๋ฉด ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

mysqlsh -- util check-for-server-upgrade { --user=root --host=1.1.1.1 --port=3306 } --config-path=/etc/mysql/my.cnf

์šฐ๋ฆฌ๊ฐ€ ๋ฐ›์€ ์˜๊ฒฌ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

MySQL(Percona Server)์„ 5.7์—์„œ 8.0์œผ๋กœ ์—…๋ฐ์ดํŠธ

์ผ๋ฐ˜์ ์œผ๋กœ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์—†์Šต๋‹ˆ๋‹ค. ์ธ์ฝ”๋”ฉ์— ๋Œ€ํ•œ ๊ฒฝ๊ณ ๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค. (์•„๋ž˜ ์ฐธ์กฐ). ์ „์ฒด ์‹คํ–‰ ๊ฒฐ๊ณผ:

MySQL(Percona Server)์„ 5.7์—์„œ 8.0์œผ๋กœ ์—…๋ฐ์ดํŠธ

์šฐ๋ฆฌ๋Š” ์—…๋ฐ์ดํŠธ๊ฐ€ ๋ฌธ์ œ ์—†์ด ์ง„ํ–‰๋˜์–ด์•ผ ํ•œ๋‹ค๊ณ  ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ธ์ฝ”๋”ฉ ๋ฌธ์ œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์œ„์˜ ๊ฒฝ๊ณ ์— ๋Œ€ํ•œ ์ฐธ๊ณ  ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค. ์‚ฌ์‹ค ์ตœ๊ทผ๊นŒ์ง€ MySQL์˜ UTF-8์€ UTF-8์ด "์‚ฌ์‹ค"์ด ์•„๋‹ˆ์—ˆ์Šต๋‹ˆ๋‹ค.3๋ฐ”์ดํŠธ ๋Œ€์‹  4๋ฐ”์ดํŠธ๋งŒ ์ €์žฅํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. MySQL 8์—์„œ๋Š” ์ด๊ฒƒ์ด ๋งˆ์นจ๋‚ด ๊ฐ€๋Šฅํ•ด์กŒ์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์„ ๊ณ ์น˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๋‹ค: ๋ณ„์นญ utf8 ๊ณง ์ฝ”๋”ฉ์œผ๋กœ ์ด์–ด์งˆ ๊ฒƒ์ด๋‹ค utf8mb4, ํ…Œ์ด๋ธ”์˜ ์ด์ „ ์—ด์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. utf8mb3. ์ถ”๊ฐ€ ์ธ์ฝ”๋”ฉ utf8mb3 ์ œ๊ฑฐ๋  ์˜ˆ์ •์ด์ง€๋งŒ ์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ์ œ๊ฑฐ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” ์—…๋ฐ์ดํŠธ ํ›„ ์‹คํ–‰ ์ค‘์ธ DBMS ์„ค์น˜์— ์ด๋ฏธ ์žˆ๋Š” ์ธ์ฝ”๋”ฉ์„ ์ˆ˜์ •ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

3๋ถ€: ์„œ๋ฒ„ ์—…๋ฐ์ดํŠธ

์ด๋Ÿฐ ํ˜„๋ช…ํ•œ ๊ณ„ํš์ด ์žˆ์œผ๋ฉด ๋ฌด์—‡์ด ์ž˜๋ชป๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?.. ๋ฏธ๋ฌ˜ํ•œ ์ฐจ์ด๋Š” ํ•ญ์ƒ ๋ฐœ์ƒํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์ž˜ ์ดํ•ดํ•˜๊ณ  MySQL ๊ฐœ๋ฐœ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์ฒซ ๋ฒˆ์งธ ์‹คํ—˜์„ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฏธ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด, ๊ณต์‹ ๋ฌธ์„œ ๋ณต์ œ๋ณธ์œผ๋กœ MySQL ์„œ๋ฒ„๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ๊ฒฐ๋ก ์€ MySQL 8์ด ๋งˆ์Šคํ„ฐ ๋ฒ„์ „ 5.7์—์„œ ๋ณต์ œํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋จผ์ € ๋ชจ๋“  ๋ณต์ œ๋ณธ(์Šฌ๋ ˆ์ด๋ธŒ)์„ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์— ์•ฝ๊ฐ„์˜ ์–ด๋ ค์›€์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋งˆ์Šคํ„ฐ <-> ๋งˆ์Šคํ„ฐ, ์›๊ฒฉ ๋งˆ์Šคํ„ฐ๊ฐ€ ๋ชจ๋“œ์— ์žˆ์„ ๋•Œ ์ฝ๊ธฐ ์ „์šฉ. ์ฆ‰, ์‹ค์ œ๋กœ ์ „ํˆฌ ํŠธ๋ž˜ํ”ฝ์€ ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ๋กœ ์ด๋™ํ•˜๊ณ  ๋‘ ๋ฒˆ์งธ๋Š” ๋ฐฑ์—… ๋ฐ์ดํ„ฐ ์„ผํ„ฐ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

ํ† ํด๋กœ์ง€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

MySQL(Percona Server)์„ 5.7์—์„œ 8.0์œผ๋กœ ์—…๋ฐ์ดํŠธ

์—…๋ฐ์ดํŠธ๋Š” ๋ณต์ œ๋ณธ์œผ๋กœ ์‹œ์ž‘๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. mysql ๋ณต์ œ๋ณธ dc 2, mysql ๋งˆ์Šคํ„ฐ dc 2 ะธ mysql replica dc 1, mysql ๋งˆ์Šคํ„ฐ dc 1 ์„œ๋ฒ„๋กœ ๋๋‚ฉ๋‹ˆ๋‹ค. ์‹ ๋ขฐ์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ๊ฐ€์ƒ ๋จธ์‹ ์„ ์ค‘์ง€ํ•˜๊ณ  ์Šค๋ƒ…์ƒท์„ ์ฐ์€ ๋‹ค์Œ ์—…๋ฐ์ดํŠธ ์ง์ „์— ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ณต์ œ๋ฅผ ์ค‘์ง€ํ–ˆ์Šต๋‹ˆ๋‹ค. STOP SLAVE. ์—…๋ฐ์ดํŠธ์˜ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. ๊ตฌ์„ฑ์— 3๊ฐ€์ง€ ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๊ฐ ๋ณต์ œ๋ณธ์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. skip-networking, skip-slave-start, skip-log-bin. ์‚ฌ์‹ค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋ฉด ์‹œ์Šคํ…œ ํ…Œ์ด๋ธ” ์—…๋ฐ์ดํŠธ์™€ ํ•จ๊ป˜ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋กœ๊ทธ๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ง€์‹œ๋ฌธ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๊ณ  ์‹œ์Šคํ…œ ํ…Œ์ด๋ธ” ์—…๋ฐ์ดํŠธ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋กœ๊ทธ์— ํฌํ•จ๋˜์ง€ ์•Š์Œ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ณต์ œ๋ฅผ ์žฌ๊ฐœํ•  ๋•Œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  2. ํŒจํ‚ค์ง€ ์„ค์น˜ percona-server-server. MySQL ๋ฒ„์ „ 8์—์„œ๋Š” ์•„๋‹ˆ ๋ช…๋ น์„ ์‹คํ–‰ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค mysqlupgrade ์„œ๋ฒ„ ์—…๋ฐ์ดํŠธ ํ›„.
  3. ์„ฑ๊ณต์ ์œผ๋กœ ์‹œ์ž‘๋˜๋ฉด ์ฒซ ๋ฒˆ์งธ ๋‹จ๋ฝ์— ์ถ”๊ฐ€๋œ ๋งค๊ฐœ๋ณ€์ˆ˜ ์—†์ด ์„œ๋ฒ„๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
  4. ๋ณต์ œ๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ํ™•์ธ SHOW SLAVE STATUS ๊ทธ๋ฆฌ๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์นด์šดํ„ฐ๊ฐ€ ์žˆ๋Š” ํ…Œ์ด๋ธ”์ด ์—…๋ฐ์ดํŠธ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.

๋ชจ๋“  ๊ฒƒ์ด ๋งค์šฐ ๊ฐ„๋‹จํ•ด ๋ณด์ž…๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ์—…๋ฐ์ดํŠธ๊ฐ€ ์„ฑ๊ณต์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ข‹์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๋•์…˜์„ ์œ„ํ•œ ์•ผ๊ฐ„ ์—…๋ฐ์ดํŠธ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์˜ˆ์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์Šฌํ””์€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค - ์šฐ๋ฆฌ๋Š” ์ œํ’ˆ์„ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค

๊ทธ๋Ÿฌ๋‚˜ ์„ฑ๊ณต์ ์ธ ๊ฐœ๋ฐœ ๊ฒฝํ—˜์„ ํ”„๋กœ๋•์…˜์œผ๋กœ ์ „ํ™˜ํ•˜๋Š” ๊ฒƒ์€ ๋†€๋ผ์šด ์ผ์ด ์•„๋‹ˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๋‹คํ–‰์Šค๋Ÿฝ๊ฒŒ๋„ ์—…๋ฐ์ดํŠธ ๊ณผ์ • ์ž์ฒด๊ฐ€ ๋ณต์ œ๋ณธ์œผ๋กœ ์‹œ์ž‘๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์ž‘์—…์„ ์ค‘๋‹จํ•˜๊ณ  ์Šค๋ƒ…์ƒท์—์„œ ๋ณต์ œ๋ณธ์„ ๋ณต์›ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ ์กฐ์‚ฌ๋Š” ๋‹ค์Œ๋‚  ์•„์นจ์œผ๋กœ ์—ฐ๊ธฐ๋๋‹ค. ๋กœ๊ทธ์—๋Š” ๋‹ค์Œ ํ•ญ๋ชฉ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

2020-01-14T21:43:21.500563Z 2 [ERROR] [MY-012069] [InnoDB] table: t1 has 19 columns but InnoDB dictionary has 20 columns
2020-01-14T21:43:21.500722Z 2 [ERROR] [MY-010767] [Server] Error in fixing SE data for db1.t1
2020-01-14T21:43:24.208365Z 0 [ERROR] [MY-010022] [Server] Failed to Populate DD tables.
2020-01-14T21:43:24.208658Z 0 [ERROR] [MY-010119] [Server] Aborting

Google์˜ ๋‹ค์–‘ํ•œ ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ ์•„์นด์ด๋ธŒ๋ฅผ ์กฐ์‚ฌํ•œ ๊ฒฐ๊ณผ ์ด โ€‹โ€‹๋ฌธ์ œ๊ฐ€ ๋‹ค์Œ์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. MySQL ๋ฒ„๊ทธ. ์ด๊ฒƒ์€ ์œ ํ‹ธ๋ฆฌํ‹ฐ ๋ฒ„๊ทธ์ผ ๊ฐ€๋Šฅ์„ฑ์ด ๋” ๋†’์ง€๋งŒ mysqlcheck ะธ mysqlsh.

MySQL์€ ์†Œ์ˆ˜ ํ•„๋“œ(int,tinyint ๋“ฑ)์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ์‹์„ ๋ณ€๊ฒฝํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— mysql-server๋Š” ์ด๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ฒฝ์šฐ ์ฒ˜์Œ์—๋Š” ๋ฒ„์ „ 5.5 ๋˜๋Š” 5.1์— ์žˆ์—ˆ๋‹ค๊ฐ€ 5.7๋กœ ์—…๋ฐ์ดํŠธํ–ˆ๋‹ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. OPTIMIZE ์ผ๋ถ€ ํ…Œ์ด๋ธ”์˜ ๊ฒฝ์šฐ. ๊ทธ๋Ÿฐ ๋‹ค์Œ MySQL์€ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์„ ์—…๋ฐ์ดํŠธํ•˜์—ฌ ํ˜„์žฌ ์ €์žฅ ํ˜•์‹์œผ๋กœ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฅผ ํ™•์ธํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. mysqlfrm:

mysqlfrm --diagnostic -vv /var/lib/mysql/db/table.frm
...
 'field_length': 8,
  'field_type': 246, # ั„ะพั€ะผะฐั‚ ะฟะพะปั
  'field_type_name': 'decimal',
  'flags': 3,
  'flags_extra': 67,
  'interval_nr': 0,
 'name': 'you_deciaml_column',
...

๋ฉด field_type 0๊ณผ ๊ฐ™์œผ๋ฉด ์ด์ „ ์œ ํ˜•์ด ํ…Œ์ด๋ธ”์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. OPTIMIZE. ๊ทธ๋Ÿฌ๋‚˜ ๊ฐ’์ด 246์ด๋ฉด ์ด๋ฏธ ์ƒˆ ์œ ํ˜•์ด ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์œ ํ˜•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•”ํ˜ธ.

๋˜ํ•œ, ์ด ๋ฒ„๊ทธ ์šฐ๋ฆฌ๋Š” ์šฐ๋ฆฌ๋ฅผ ์šฐํšŒํ•œ ๋‘ ๋ฒˆ์งธ ๊ฐ€๋Šฅํ•œ ์ด์œ ๋ฅผ ๊ณ ๋ คํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ํ…Œ์ด๋ธ”์— InnoDB ํ…Œ์ด๋ธ”์ด ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. INNODB_SYS_TABLESPACES, ํ…Œ์ด๋ธ”์ด ๋ฒ„์ „ 5.1์—์„œ ์ƒ์„ฑ๋œ ๊ฒฝ์šฐ. ์—…๋ฐ์ดํŠธ ์‹œ ๋ฌธ์ œ๋ฅผ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒจ๋ถ€๋œ SQL ์Šคํฌ๋ฆฝํŠธ.

๊ฐœ๋ฐœํŒ€์—์„œ๋Š” ์™œ ๊ทธ๋Ÿฐ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์•˜๋‚˜์š”? ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ํ”„๋กœ๋•์…˜์—์„œ ์ฃผ๊ธฐ์ ์œผ๋กœ ๋ณต์‚ฌ๋ฉ๋‹ˆ๋‹ค. ํ…Œ์ด๋ธ”์ด ๋‹ค์‹œ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค..

๋ถˆํ–‰ํ•˜๊ฒŒ๋„ ์‹ค์ œ๋กœ ์ž‘๋™ํ•˜๋Š” ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ๋Š” ๋ฒ”์šฉ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ฐ€์ ธ์™€์„œ ์‹คํ–‰ํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. OPTIMIZE. percona-toolkit์ด ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. pt-online-schema-change ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ์˜จ๋ผ์ธ OPTIMIZE ์ž‘์—…์— ํƒ์›”ํ•ฉ๋‹ˆ๋‹ค.

์—…๋ฐ์ดํŠธ๋œ ๊ณ„ํš์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. ๋ชจ๋“  ํ…Œ์ด๋ธ”์„ ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๋‹ค.
  2. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์—…๋ฐ์ดํŠธํ•˜์‹ญ์‹œ์˜ค.

์ด๋ฅผ ํ™•์ธํ•˜๊ณ  ๋™์‹œ์— ์—…๋ฐ์ดํŠธ ์‹œ๊ฐ„์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๋ณต์ œ๋ณธ ์ค‘ ํ•˜๋‚˜๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  ๋ชจ๋“  ํ…Œ์ด๋ธ”์— ๋Œ€ํ•ด ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

pt-online-schema-change --critical-load Threads_running=150 --alter "ENGINE=InnoDB" --execute --chunk-size 100 --quiet --alter-foreign-keys-method auto h=127.0.0.1,u=root,p=${MYSQL_PASSWORD},D=db1,t=t1

์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ๊ธฐ๋ณธ ํ…Œ์ด๋ธ”์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์‚ฌํ•˜๋Š” ์ƒˆ ์ž„์‹œ ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•˜๋ฏ€๋กœ ๊ธด ์ž ๊ธˆ ์—†์ด ํ…Œ์ด๋ธ”์ด ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค. ๋‘ ํ…Œ์ด๋ธ”์ด ๋™์ผํ•ด์ง€๋Š” ์ˆœ๊ฐ„ ์›๋ž˜ ํ…Œ์ด๋ธ”์€ ์ž ๊ธฐ๊ณ  ์ƒˆ ํ…Œ์ด๋ธ”๋กœ ๊ต์ฒด๋ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ ๊ฒฝ์šฐ ํ…Œ์ŠคํŠธ ์‹คํ–‰ ๊ฒฐ๊ณผ ๋ชจ๋“  ํ…Œ์ด๋ธ”์„ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋ฐ ํ•˜๋ฃจ ์ •๋„ ์†Œ์š”๋˜๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์œผ๋‚˜ ๋ฐ์ดํ„ฐ ๋ณต์‚ฌ๋กœ ์ธํ•ด ๋””์Šคํฌ์— ๋„ˆ๋ฌด ๋งŽ์€ ๋ถ€ํ•˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋กœ๋•์…˜์—์„œ ๋ช…๋ น์— ์ธ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. --sleep ๊ฐ’ 10 - ์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ๋ฐ์ดํ„ฐ ๋ฐฐ์น˜๋ฅผ ์ƒˆ ํ…Œ์ด๋ธ”๋กœ ์ „์†กํ•œ ํ›„ ๋Œ€๊ธฐ ์‹œ๊ฐ„์„ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์‹ค์ œ ์‹คํ–‰ ์ค‘์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‘๋‹ต ์‹œ๊ฐ„์„ ์š”๊ตฌํ•˜๋Š” ๊ฒฝ์šฐ ๋กœ๋“œ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ตœ์ ํ™”๋ฅผ ์ˆ˜ํ–‰ํ•œ ํ›„ ์—…๋ฐ์ดํŠธ๊ฐ€ ์„ฑ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค.

... ํ•˜์ง€๋งŒ ์™„์ „ํžˆ๋Š” ์•„๋‹™๋‹ˆ๋‹ค!

์—…๋ฐ์ดํŠธ ํ›„ XNUMX๋ถ„ ์ด๋‚ด์— ํด๋ผ์ด์–ธํŠธ์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ๋งค์šฐ ์ด์ƒํ•˜๊ฒŒ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฃผ๊ธฐ์ ์œผ๋กœ ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ ์žฌ์„ค์ •. ๋ชจ๋‹ˆํ„ฐ๋ง์„ ํ•ด๋ณด๋‹ˆ ์ด๋ ‡์Šต๋‹ˆ๋‹ค.

MySQL(Percona Server)์„ 5.7์—์„œ 8.0์œผ๋กœ ์—…๋ฐ์ดํŠธ

์Šคํฌ๋ฆฐ์ƒท์€ ์ผ๋ถ€ MySQL ์„œ๋ฒ„ ์Šค๋ ˆ๋“œ๊ฐ€ ์˜ค๋ฅ˜๋กœ ์ธํ•ด ์ฃผ๊ธฐ์ ์œผ๋กœ ์ถฉ๋Œํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ํ†ฑ๋‹ˆ ๋ชจ์–‘์˜ ๊ทธ๋ž˜ํ”„๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์— ์˜ค๋ฅ˜๊ฐ€ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค:

[PDOException] SQLSTATE[HY000] [2002] Connection refused

๋กœ๊ทธ๋ฅผ ๋น ๋ฅด๊ฒŒ ์กฐ์‚ฌํ•œ ๊ฒฐ๊ณผ mysqld ๋ฐ๋ชฌ์ด ์šด์˜ ์ฒด์ œ์—์„œ ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ์–ป์„ ์ˆ˜ ์—†๋‹ค๋Š” ์‚ฌ์‹ค์ด ๋“œ๋Ÿฌ๋‚ฌ์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅ˜๋ฅผ ์ •๋ฆฌํ•˜๋˜ ์ค‘ ์‹œ์Šคํ…œ์—์„œ ๋ฐœ๊ฒฌํ•œ "๊ณ ์•„" ์˜๋ฅ˜ ์ •์ฑ… ํŒŒ์ผ:

# dpkg -S /etc/apparmor.d/cache/usr.sbin.mysqld
dpkg-query: no path found matching pattern /etc/apparmor.d/cache/usr.sbin.mysqld
# dpkg -S /etc/apparmor.d/local/usr.sbin.mysqld
dpkg-query: no path found matching pattern /etc/apparmor.d/local/usr.sbin.mysqld
# dpkg -S /etc/apparmor.d/usr.sbin.mysqld
mysql-server-5.7: /etc/apparmor.d/usr.sbin.mysqld
# dpkg -l mysql-server-5.7
rc  mysql-server-5.7 5.7.23-0ubuntu0.16.04.1      amd64

์ด ํŒŒ์ผ์€ ๋ช‡ ๋…„ ์ „ MySQL 5.7๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•  ๋•Œ ์ƒ์„ฑ๋˜์—ˆ์œผ๋ฉฐ ์ œ๊ฑฐ๋œ ํŒจํ‚ค์ง€์— ์†ํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ์„ ์‚ญ์ œํ•˜๊ณ  ์˜๋ฅ˜ ์„œ๋น„์Šค๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

systemctl stop apparmor
rm /etc/apparmor.d/cache/usr.sbin.mysqld
rm /etc/apparmor.d/local/usr.sbin.mysqld
rm /etc/apparmor.d/usr.sbin.mysqld
systemctl start apparmor

๊ฒฐ๋ก ์ ์œผ๋กœ

๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ์ž‘์—…์ด๋ผ๋„ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ž˜ ๊ณ„ํš์„ ์„ธ์› ๋‹ค๊ณ  ํ•ด์„œ ํ•ญ์ƒ ์˜ˆ์ƒํ•œ ๊ฒฐ๊ณผ๊ฐ€ ๋ณด์žฅ๋˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ์ด์ œ ์šฐ๋ฆฌ ํŒ€์˜ ๋ชจ๋“  ์—…๋ฐ์ดํŠธ ๊ณ„ํš์—๋Š” ์ตœ๊ทผ ์กฐ์น˜์˜ ๊ฒฐ๊ณผ๋กœ ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ๋Š” ๋ถˆํ•„์š”ํ•œ ํŒŒ์ผ์„ ์˜๋ฌด์ ์œผ๋กœ ์ •๋ฆฌํ•˜๋Š” ๊ฒƒ๋„ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ ์ „๋ฌธ์ ์ด์ง€๋Š” ์•Š์€ ๊ทธ๋ž˜ํ”ฝ ์ฐฝ์˜์„ฑ์„ ๋ฐ”ํƒ•์œผ๋กœ ๋›ฐ์–ด๋‚œ ์ œํ’ˆ์„ ์ œ๊ณตํ•œ Percona์—๊ฒŒ ํฐ ๊ฐ์‚ฌ๋ฅผ ์ „ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค!

MySQL(Percona Server)์„ 5.7์—์„œ 8.0์œผ๋กœ ์—…๋ฐ์ดํŠธ

PS

๋ธ”๋กœ๊ทธ์—์„œ๋„ ์ฝ์–ด๋ณด์„ธ์š”.

์ถœ์ฒ˜ : habr.com

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