MySQL Check, Repair, Optimize

MySQL์—์„œ๋Š” ํ…Œ์ด๋ธ”์ด ์†์ƒ ๋˜์—ˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ํ™•์ธ(check)ํ•˜๊ณ , ์†์ƒ๋œ ํ…Œ์ด๋ธ”์ผ ๊ฒฝ์šฐ์—๋Š” ํ…Œ์ด๋ธ”์„ ๋ณต๊ตฌ(repair)ํ•˜๊ณ , ํ…Œ์ด๋ธ”์„ ์ตœ์ ํ™”(optimize) ํ•˜๋Š” ๊ธฐ๋Šฅ๋“ค์„ ์ œ๊ณตํ•œ๋‹ค.

ํ…Œ์ด๋ธ”์„ optimize ํ•˜๋‹ค๊ฐ€ ์ค‘๊ฐ„์— Abort ๋˜์–ด ํ…Œ์ด๋ธ”์ด ์†์ƒ๋œ ๊ฒฝ์šฐ์— repair ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ๊ณ , MyISAM ์—”์ง„์˜ ํ…Œ์ด๋ธ”์˜ ๊ฒฝ์šฐ row๋ฅผ deleteํ•ด๋„ index ๋ฐ์ดํ„ฐ๊ฐ€ ๋‚จ์•„์žˆ์œผ๋ฏ€๋กœ ํ…Œ์ด๋ธ”์˜ ์šฉ๋Ÿ‰์ด ์ค„์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค.

์ด๋Ÿด ๊ฒฝ์šฐ์— ํ…Œ์ด๋ธ”์„ ์ตœ์ ํ™”(optimize)ํ•˜๋Š” ๊ฒƒ์ด ํ•˜๋‚˜์˜ ๋ฐฉ๋ฒ•์ด๋‹ค.

MySQL ํŠน์ • ํ…Œ์ด๋ธ” ์†์ƒ ์—ฌ๋ถ€ ํ™•์ธ(Check)

/* ์ฒดํฌํ•  Table์ด ์†ํ•ด์žˆ๋Š” Database๋ฅผ ์„ ํƒํ•œ๋‹ค. */
mysql> use `Database๋ช…`;

/* Table์˜ ์†์ƒ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•œ๋‹ค. */
mysql> CHECK TABLE `Table๋ช…`;

MySQL ํŠน์ • ํ…Œ์ด๋ธ” ๋ณต๊ตฌ(Repair)

/* ๋ณต๊ตฌํ•  Table์ด ์†ํ•ด์žˆ๋Š” Database๋ฅผ ์„ ํƒํ•œ๋‹ค. */
mysql> use `Database๋ช…`;

/* ์†์ƒ๋œ ํ…Œ์ด๋ธ”์„ ๋ณต๊ตฌํ•œ๋‹ค. */
mysql> REPAIR TABLE `Table๋ช…`;

MySQL ํŠน์ • ํ…Œ์ด๋ธ” ์ตœ์ ํ™”(Optimize)

/* ์ตœ์ ํ™”ํ•  Table์ด ์†ํ•ด์žˆ๋Š” Database๋ฅผ ์„ ํƒํ•œ๋‹ค. */
mysql> use `Database๋ช…`;

/* ํ…Œ์ด๋ธ”์„ ์ตœ์ ํ™”ํ•œ๋‹ค. */
mysql> OPTIMIZE TABLE `Table๋ช…`;

ํŠน์ • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ชจ๋“  ํ…Œ์ด๋ธ” ํ™•์ธ/๋ณต๊ตฌ

# Shell์—์„œ MySQL ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ์˜ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ ‘์†ํ•œ๋‹ค.
$ cd [MYSQL_Home]/bin

# ํ•ด๋‹น DB์˜ ๋ชจ๋“  ํ…Œ์ด๋ธ”์„ ํ™•์ธํ•˜๊ณ  ๋ณต๊ตฌํ•œ๋‹ค.
$ ./mysqlcheck -u [DB User] -p[DB Password] --auto-repair [Database๋ช…]

ํŠน์ • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ชจ๋“  ํ…Œ์ด๋ธ” ์ตœ์ ํ™”

# Shell์—์„œ MySQL ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ์˜ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ ‘์†ํ•œ๋‹ค.
$ cd [MYSQL_Home]/bin

# ํ•ด๋‹น DB์˜ ๋ชจ๋“  ํ…Œ์ด๋ธ”์„ ์ตœ์ ํ™”ํ•œ๋‹ค.
$ ./mysqlcheck -u [DB User] -p[DB Password] --optimize [Database๋ช…]

์ž๋ฃŒ ์ถœ์ฒ˜