๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ฐœ๋ฐœ์ƒํ™œ/Cloud

[AWS] Aurora RDS MySQL 5.7 to 8.0

by cocococo331 2022. 3. 15.

- RDS ์Šค๋ƒ…์ƒท ์ƒ์„ฑ ๋ฐ ๋ณต์› ๋ฐฉ๋ฒ•์œผ๋กœ ์ง„ํ–‰

- ์‚ฌ์ „ ์ค€๋น„ 

  1. MySQL Connector Version Up
    • 8.0.x ์ดํ›„๋กœ ์˜ฌ๋ ค์ค˜๋„ ๋˜๋‚˜, ์•„์ง ์‚ฌ์ด๋“œ ์ดํŽ™์„ ํ™•์ธ ๋ชปํ•ด ์šฐ์„ ์€ 5.1.49๊นŒ์ง€๋งŒ ์˜ฌ๋ ค ๋†“์•˜๋‹ค.
    • dependency
      <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
      <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
          <version>5.1.49</version>
      </dependency>
  2. useSSL=false ์˜ต์…˜ ์ถ”๊ฐ€
    • 31์—๋Š” ์ด์Šˆ๊ฐ€ ์—†์—ˆ์œผ๋‚˜, 5.1.49๋กœ ์ปค๋„ฅํ„ฐ ๋ฒ„์ „์„ ์˜ฌ๋ฆฌ๊ณ ๋Š” ์ฝ”๋“œ ๋‚ด DB Property ์„ค์ • ์‹œ useSSL=false ์˜ต์…˜์„ ์•ˆ์ฃผ๋ฉด ์„œ๋น„์Šค๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š์•„ ํ•„์ˆ˜์ ์œผ๋กœ ํ•ด๋‹น ์˜ต์…˜์„ ์ถ”๊ฐ€ ํ–ˆ๋‹ค.
  3. ํ˜น์‹œ mariadb connector๊ฐ€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋œ๋‹ค๋ฉด mysql connector๋กœ ๋ณ€๊ฒฝ ํ›„ ์ œ๊ฑฐ
    • pom ๋“ฑ ์„ค์ • ํŒŒ์ผ์— database connector๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ ์žˆ์„ ๊ฒฝ์šฐ ์ œ๊ฐ€ ํ•œ ํ›„ mysql connector๋งŒ ๋‚จ๊ธด๋‹ค.
    • ์ถฉ๋Œ์ด ๋‚˜๋Š”๊ฑด์ง€ ๋‘๊ฐœ๊ฐ€ ๊ฐ™์ด ์กด์žฌํ•˜๊ธฐ๋งŒ ํ•˜๋”๋ผ๋„ maria db connector๋ฅผ ์šฐ์„ ์ ์œผ๋กœ ์ ์šฉ ํ•˜๋Š”๊ฑด์ง€ ์ด์Šˆ๊ฐ€ ์žˆ์–ด์„œ ์•„์˜ˆ pomํŒŒ์ผ์—์„œ ์ œ๊ฑฐํ•ด๋ฒ„๋ฆผ
  4. ๋””ํดํŠธ ์บ๋ฆญํ„ฐ ์…‹ ์ฒดํฌ
    • ๊ธฐ์กด์—๋Š” utf8 ์ด ๋””ํดํŠธ ์บ๋ฆญํ„ฐ ์…‹์ด ์—ˆ์ง€๋งŒ utf8์ด deprecation ๋œ๋‹คํ•˜์—ฌ utf8mb3๋กœ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•ด์ฃผ๊ฑฐ๋‚˜ utf8mb4๋กœ ๋ณ€๊ฒฝ์„ ํ•ด์ค€๋‹ค.
    • ์บ๋ฆญํ„ฐ ์…‹์„ utf8mb4๋กœ ๋ณ€๊ฒฝ ์‹œ์˜ ์‚ฌ์ด๋“œ ์ดํŽ™์ด ์žˆ๋Š”์ง€๋Š” ์‚ฌ์ „ ์ ๊ฒ€ ํ•„์š” ex) key length ๋“ฑ 

- ์ž‘์—… ์ˆœ์„œ

Rds cluster ์„ ํƒ -> ์ƒ๋‹จ ์ˆ˜์ • ๋ฒ„ํŠผ์—์„œ ๋ฐ”๋กœ ๋ฒ„์ „๋งŒ ๋ฐ”๊ฟ”๋„ ๋˜์ง€๋งŒ ๋ฌด์Šจ ์ด์Šˆ๊ฐ€ ํ„ฐ์งˆ์ง€ ๋ชฐ๋ผ ์Šค๋ƒ…์ƒท ๋ณต๊ตฌ ๋ฐฉ์‹์œผ๋กœ ์‹ ๊ทœ ์ƒ์„ฑ ์ง„ํ–‰

  1. AWS Console ์ ‘์†
  2. RDS ์ด๋™
  3. DB Cluster, Instance Parameter Group ์‚ฌ์ „ ์ค€๋น„
  4. ์ธ์Šคํ„ด์Šค ์„ ํƒ -> ์ƒ๋‹จ ์ž‘์—… - ์Šค๋ƒ…์ƒท ์ƒ์„ฑ (์ด๋ฆ„์€ ๋”ฐ๋กœ ๊ตฌ๋ถ„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ์•”์ผ€๋‚˜ ์ถ”ํ›„ ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅ)
  5. ์Šค๋ƒ…์ƒท์œผ๋กœ ๋ณต์› ์‹œ mysql 8.0 ์„ ํƒ ๋ฐ ํ•„์š”์— ๋”ฐ๋ฅธ ํƒ€์ž…, ์„ค์ • ๋“ฑ ์ ์šฉ
  6. ์ƒˆ๋กœ์šด ์ด๋ฆ„์œผ๋กœ cluster ์ƒ์„ฑ์ด ์™„๋ฃŒ
  7. ๊ธฐ์กด์— ์กด์žฌํ•˜๋Š” 5.7๋ฒ„์ „์˜ cluser ์ด๋ฆ„ ๋ณ€๊ฒฝ
    • ํด๋Ÿฌ์Šคํ„ฐ ์„ ํƒ -> ์ƒ๋‹จ ์ˆ˜์ • -> DB ํด๋Ÿฌ์Šคํ„ฐ ์‹๋ณ„์ž ๋ณ€๊ฒฝ ํ›„ ์ €์žฅ
    • ex) rds-cluster-origin-backup
    • ๊ธฐ์กด Cluster์˜ ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ ๊ทœ ์ƒ์„ฑํ•œ Cluster๋ฅผ ๊ธฐ์กด ์ด๋ฆ„์œผ๋กœ ๋ณ€๊ฒฝํ•ด ๋†“์œผ๋ฉด ๋”ฐ๋กœ ์ฝ”๋“œ์ƒ์ด๋‚˜ db ํˆด์—์„œ ๋ฐ”๊ฟ”์ค˜์•ผ ํ• ๊ฒŒ ์—†๋‹ค. ์ปค๋„ฅ์…˜๋งŒ ๋‚˜์ค‘์— ํ•œ๋ฒˆ ๋‹ค์‹œ ์—ฐ๊ฒฐํ•˜๋ฉด ๋
  8. ์ƒˆ๋กœ ๋งŒ๋“  8.0 ๋ฒ„์ „์˜ cluster ์ด๋ฆ„ ๋ณ€๊ฒฝ
    • ํด๋Ÿฌ์Šคํ„ฐ ์„ ํƒ -> ์ƒ๋‹จ ์ˆ˜์ • -> DB ํด๋Ÿฌ์Šคํ„ฐ ์‹๋ณ„์ž ๋ณ€๊ฒฝ ํ›„ ์ €์žฅ
    • ex) rds-cluster-origin
  9. ์™„๋ฃŒ
    • ์ธ์Šคํ„ด์Šค ์ด๋ฆ„์€ ๋‚˜์ค‘์— ๊ธฐ์กด ๋””๋น„ ์‚ญ์ œ ํ›„ ๋ณ€๊ฒฝํ•ด๋„ ์ƒ๊ด€ ์—†์Œ. ์ฝ”๋“œ ์ƒ์— ๋””๋น„ ์—”๋“œํฌ์ธํŠธ๋Š” ์ธ์Šคํ„ด์Šค๊ฐ€ ์•„๋‹Œ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ.
    • ์„ค์ • ํŒŒ์ผ ๋‚ด ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ ์–ด๋†“๋Š” ์ด์œ ๋Š” ์ธ์Šคํ„ด์Šค๋Š” ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜์„œ ๋ฐ”๋€Œ๊ฒŒ ๋˜๋ฉด endpoint๊ฐ€ ๋‹ฌ๋ผ์ ธ์„œ ์„ค์ •์„ ๋ณ€๊ฒฝํ•ด์•ผํ•˜์ง€๋งŒ ํด๋Ÿฌ์Šคํ„ฐ๋Š” ์ธ์Šคํ„ด์Šค๊ฐ€ ๋ณ€๊ฒฝ๋˜๋„ ์˜ํ–ฅ์ด ์—†์Œ.
    • DB ํˆด์—์„œ show variables; ๋กœ 8.0 ์—…๋Žƒ ๋œ ๊ฒƒ ํ™•์ธ ๊ฐ€๋Šฅ

- RDS ์ƒ์„ฑ ์‹œ ์ฃผ์˜ 

์†์ƒํ•œ ์ผ
๊ธฐ์กด์— ๋””๋น„๋ฅผ ์ƒˆ๋กœ ์Šค๋ƒ…์ƒท์—์„œ ๋ณต์›ํ•ด์„œ ๋งŒ๋“ค๋ ค๊ณ  ํ–ˆ๊ณ , ์ž๋™ ์ƒ์„ฑ๋˜๋Š” ์Šค๋ƒ…์ƒท์„ ์ด์šฉํ•˜๋ ค๊ณ  ํ–ˆ๋‹ค.
์ด๋•Œ, DB ์ด๋ฆ„์ด ์ƒˆ๋กœ ๋งŒ๋“ค์–ด์ง„๋‹ค๋ฉด ์ฝ”๋“œ๋งˆ๋‹ค ์„ค์ •ํŒŒ์ผ์„ ๋‹ค ๋ฐ”๊ฟ”์ค˜์•ผํ•ด์„œ ๊ธฐ์กด๊ณผ ๋™์ผํ•œ ์ด๋ฆ„์„ ๊ฐ–๊ฒŒ ํ•˜๋ ค๊ณ  ๊ธฐ์กด DB๋ฅผ ๋จผ์ € ๋‚ ๋ฆฐ ํ›„ ๋‚จ์•„์žˆ๋Š” ์Šค๋ƒ…์ƒท์„ ์ด์šฉํ•ด์„œ ๋ณต๊ตฌ ํ›„ ๊ธฐ์กด๊ณผ ๋™์ผํ•˜๊ฒŒ ํ•˜๋ ค๊ณ  ํ–ˆ๋‹ค. ใ…œใ…œ

๊ทธ๋Ÿฌ๋‚˜ ๋‘๋‘ฅ
rds ์‚ญ์ œ ์‹œ ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋œ ์Šค๋ƒ…์ƒท์€ ํ•จ๊ป˜ ์‚ญ์ œ ๋˜์–ด๋ฒ„๋ฆฌ๋Š” ๋ถˆ์ƒ์‚ฌ๊ฐ€ ๋ฐœ์ƒ...

๋ญ ๊ทธ๋ž˜์„œ ์ˆ˜๋™์œผ๋กœ ๋– ๋†“์€ ์Šค๋ƒ…์ƒท๋„ ๋ฉ€์ฉกํ•œ๊ฒŒ ์—†์—ˆ์–ด์„œ ๋””๋น„ ํ•˜๋‚˜๋ฅผ ๋‚ ๋ ธ๋‹ค๋Š” ์Šฌํ”ˆ ์ด์•ผ๊ธฐ

-> ๋””๋น„ ์ด๋ฆ„์€ ๋””๋น„๊ฐ€ ์ƒ์„ฑ์ด ๋œ ํ›„์— ๊ณ ์ณ๋„ ๋œ๋‹ค. ์ผ๋‹จ ์Šค๋ƒ…์ƒท์œผ๋กœ ๋””๋น„๋ถ€ํ„ฐ ๋ณต๊ตฌํ•˜๊ณ  ์ง€์šฐ์žฅ. ์•„๋‹ˆ๋ฉด ์ž๋™ ์Šค๋ƒ…์ƒท์„ ๋ฏฟ์ง€ ๋ง๊ณ  ์‚ญ์ œ ์ „์—๋Š” ์Šค๋ƒ…์ƒท ๋ฐฑ์—…์„ ๊ผญ ํ•œ๋ฒˆ์”ฉ ๋”ํ•˜์ž


๋ณต๊ตฌ๋น„์šฉ >>>>>>>> ์Šค๋ƒ…์ƒท ์ƒ์„ฑ ๋น„์šฉ  ์•ˆ์•„๊นŒ์›Œ


- ๊ฒฐ๊ณผ

  • ์ผ๋‹จ ๋ณ„ ํƒˆ ์—†์ด ์ž˜ ๋Œ์•„ ๊ฐ€๊ณ  ์žˆ๋‹ค.
  • with์ ˆ์ด๋‚˜ JSON qurey๋ฅผ ๋” ๋งŽ์ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.
  • 8.0 ์‹ ๊ทœ ์ง€์› ์ฟผ๋ฆฌ๋ฅผ ์ข€ ๋” ๋งŽ์ด ๋ด์•ผ๊ฒ ๊ตฌ๋งŒ
  • ๋ง›๋ณด๊ธฐ
  REPLACE INTO TABLE_NAME_B
     WITH
       M1 AS (
               SELECT *
                 FROM TABLE_NAME_A )
   SELECT COLUMN_B_1
        , COLUMN_B_2
     FROM M1
;

'๊ฐœ๋ฐœ์ƒํ™œ > Cloud' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[AWS]Resource Explorer Research  (0) 2024.03.14
[GCP] VM์˜ Disk, Memory ์ˆ˜์ง‘์„ ์œ„ํ•œ Ops Agent ์„ค์น˜  (0) 2022.07.30