๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ชฉ๋ก์ด ์—†์Šต๋‹ˆ๋‹ค.

[docker] mysql/mariadb Unknown/unsupported storage engine: InnoDB

Server
    ๐Ÿ’ก docker container๋กœ ๋งŒ๋“  DB ์„œ๋ฒ„ ๋ณต๊ตฌ ๊ด€๋ จ ๋‚ด์šฉ

     

    ์ƒํ™ฉ

    docker ์ด๋ฏธ์ง€๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋งŒ๋“ค์–ด๋†“์€ ๊ฐœ๋ฐœ์„œ๋ฒ„์šฉ DB ์ปจํ…Œ์ด๋„ˆ์— ๋ง์ฝ์ด ์ƒ๊ฒผ๋‹ค. ๊ธฐ์กด์— ๋งŒ๋“ค์–ด๋†“์€ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์žˆ์—ˆ๊ณ  ํ•ด๋‹น ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒˆ๋กœ์šด ๊ฐœ๋ฐœ DB์„œ๋ฒ„ ๊ตฌ์ถ•์„ ์œ„ํ•ด์„œ ๋ณต์ œ(Duplication)๋ฅผ ํ–ˆ๋Š”๋ฐ ํ•˜ํ•„์ด๋ฉด local storage(volume)์„ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๊ฒŒ ๋งŒ๋“ค์–ด๋ฒ„๋ฆฌ๋Š” ๋ฐ”๋žŒ์— /var/lib/mysql ์ด ๊ผฌ์—ฌ๋ฒ„๋ฆฐ ๊ฒƒ ๊ฐ™๋‹ค. ๊ธฐ์กด์— ์ž˜ ๋Œ์•„๊ฐ€๋˜ ๊ฐœ๋ฐœ์„œ๋ฒ„ ์ปจํ…Œ์ด๋„ˆ๋„ ์•ˆ์ผœ์ง€๊ณ  ์ƒˆ๋กœ ์ƒ์„ฑํ•œ ์ปจํ…Œ์ด๋„ˆ๋„ ์•ˆ์ผœ์ง„๋‹ค.

     

    ์—๋Ÿฌ ๋‚ด์šฉ์€ ์ œ๋ชฉ์—๋„ ์žˆ์ง€๋งŒ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

     

    Unknown/unsupported storage engine: InnoDB

     

    ๊ธฐ์กด DB๋Š” ์ด๋ฏธ ์ƒ์„ฑ๋˜์–ด ๋ฐ์ดํ„ฐ๊นŒ์ง€ ์Œ“์ธ ์ƒํƒœ๋ผ ์ปจํ…Œ์ด๋„ˆ ๋ฐ volume์ด ๋‚ ์•„๊ฐ€๋ฉด ํฐ์ผ๋‚˜๋Š” ์ƒํ™ฉ์ด๋‹ค.. ์–ด๋–ป๊ฒŒ ์‚ด๋ฆด ์ˆ˜ ์žˆ์ง€?!

    ์ฐพ์•„๋ณด๋‹ˆ๊นŒ ์—ญ์‹œ๋‚˜ ๋ฐฉ๋ฒ•์€ ์žˆ์—ˆ๋‹ค. ์—๋Ÿฌ ๋‚ด์šฉ ์ž์ฒด๋Š” InnoDB ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์„ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค์ง€๋งŒ, ์‹ค์ œ๋กœ ์ € ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์ด์œ ๋Š” ๊ถŒํ•œ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด๋Š” docker์—์„œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋งŒ๋“ค ๋•Œ ๊ฐ™์€ volume์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ”๋žŒ์— ๊ถŒํ•œ์ด ๋ณ€๊ฒฝ๋˜๋ฉด์„œ ์ผ์–ด๋‚œ ๊ฒƒ์ด๋‹ค.

     

    ํ•ด๊ฒฐ

    ์ปจํ…Œ์ด๋„ˆ ์ •๋ฆฌ

    ์šฐ์„  volume์„ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ •๋ฆฌํ•˜๊ณ  ๊ธฐ์กด์— ์‚ฌ์šฉ์ค‘์ด๋˜ ์ปจํ…Œ์ด๋„ˆ๋งŒ ๋‚จ๊ธด๋‹ค.

     

    volume ์œ„์น˜์— ib_logfile0 ํŒŒ์ผ ์ œ๊ฑฐ 

    docker๊ฐ€ ์„ค์น˜๋œ ์„œ๋ฒ„์—์„œ ๊ฐœ๋ฐœ DB ์ปจํ…Œ์ด๋„ˆ์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” docker volume ์œ„์น˜๋กœ ์ด๋™ํ•œ๋‹ค.

    ํ•ด๋‹น ์„œ๋ฒ„์— mysql ๋˜๋Š” mariadb ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์„ ํ…๋ฐ ํŒŒ์ผ ๋ชฉ๋ก ์ค‘์— ib_logfile0 ์ด๋ผ๋Š” ํŒŒ์ผ์„ ์‚ญ์ œํ•œ๋‹ค.

    ๋‚˜๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ํ˜น์‹œ๋‚˜ ๋” ๋งํ•ด๋ฒ„๋ฆด๊นŒ ์‹ถ์–ด์„œ ํ•ด๋‹น ํŒŒ์ผ์„ rm -rf ๋ช…๋ น์–ด๋กœ ์‚ญ์ œํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ mv ๋ช…๋ น์–ด๋กœ ๋‹ค๋ฅธ ์œ„์น˜๋กœ ์˜ฎ๊ฒจ์ฃผ์—ˆ๋‹ค.

     

    root$ cd /var/lib/docker/volume/faiuhsi884h3rhtu7.../var/lib/mysql/
    root$ mv ib_logfile0 ~/

     

    ๊ธฐ์กด ์ปจํ…Œ์ด๋„ˆ ์žฌ์‹œ์ž‘

    ์œ„์˜ ib_logfile0 ํŒŒ์ผ์„ ์ œ๊ฑฐํ•ด์ฃผ์—ˆ๋‹ค๋ฉด ๊ธฐ์กด DB ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์žฌ์‹œ์ž‘ํ•ด์ฃผ๋ฉด ์ž˜ ์ผœ์ง€๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

    ๊ดœํžˆ ์ด๊ฒƒ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ ๋‚ ๋ฆฌ์ง€ ์•Š๊ธฐ๋ฅผ ๋ฐ”๋ž€๋‹ค.

     

     

    ์ฐธ๊ณ 

    https://serverfault.com/questions/379714/unknown-unsupported-storage-engine-innodb-mysql-ubuntu