๋กœ์ผ“๐Ÿพ
article thumbnail

 

๋„์ปค ํ—ˆ๋ธŒ์— ์˜ฌ๋ผ์˜จ ๊ณต์‹ MySql ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์–ธ์ œ ์–ด๋””์„œ๋“  ์•„์ฃผ ์‰ฝ๊ฒŒ ๋™์ผํ•œ MySql ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. MySql ์ปจํ…Œ์ด๋„ˆ๋Š” 8 ๋ฒ„์ „์œผ๋กœ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

 

 

๊ณต์‹ ๋„์ปค ํ—ˆ๋ธŒ์— ๋‚˜์™€์žˆ๋Š” ์„ค๋ช…๋Œ€๋กœ ํ•˜๋ฉด 1๋ถ„๋„ ์•ˆ๋˜์„œ MySql ํ™˜๊ฒฝ์„ ๋ˆ„๊ตฌ๋‚˜ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋‹จ์ˆœํžˆ ์•„๋ž˜์™€ ๊ฐ™์€ ๋ช…๋ น์–ด๋กœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋งŒ๋“ค๋ฉด ์•ˆ๋˜๊ณ  ๋ณผ๋ฅจ๋„ ๋งˆ์šดํŠธ ํ•ด์•ผํ•˜๊ณ  MySql์—์„œ์˜ ์‹œ๊ฐ„, ์‹œ์Šคํ…œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋“ฑ๋„ ์„ค์ •ํ•ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

 

๊ทธ ์ค‘ ์ด๋ฒˆ ๊ธ€์—์„œ sql-mode ๋ผ๋Š” MySql์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์‹œ์Šคํ…œ ๋ณ€์ˆ˜์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

sql-mode๋ž€?

MySql์— ์ €์žฅ๋  ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๋ฒ”์œ„๋ฅผ ์„ค์ •ํ•˜๋Š” ์‹œ์Šคํ…œ ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค.

 

sql-mode์— ํ™œ์„ฑํ™” ํ•˜๊ณ ์ž ํ•˜๋Š” ๋ชจ๋“œ๋ฅผ , ๊ตฌ๋ถ„์ž๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ํ•œ์ค„๋กœ ์ถ”๊ฐ€ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๋˜ํ•œ MySql ๋ฒ„์ „๋ณ„๋กœ default_sql_mode ๊ฐ’์ด ๋‹ค๋ฅด๋ฉฐ, ์ด๋ฅผ ์ปค์Šคํ„ฐ ๋งˆ์ด์ง• ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

SELECT @@sql_mode;

 

์œ„ ์ฟผ๋ฆฌ๋ฌธ์œผ๋กœ ํ˜„์žฌ MySql์˜ ์‹œ์Šคํ…œ ๋ณ€์ˆ˜๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

MySql ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ ํ•œ ํ›„ group by ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ฟผ๋ฆฌ๋ฌธ์„ ๋‚ ๋ฆด ์‹œ "SELECT list is not in GROUP BT ..." ์ด๋Ÿฌํ•œ ์—๋Ÿฌ๋ฅผ ๋งˆ์ฃผ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„  sql_mode์—์„œ "ONLY_FULL_GROUP_BY" ์˜ต์…˜์„ ์‚ญ์ œํ•ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

๊ธฐ์กด์—๋Š” sql_mode๋ฅผ ๋ณ€๊ฒฝํ•˜๊ธฐ ์œ„ํ•ด์„  /etc/mysql/my.cnf ์„ vim ์—๋””ํ„ฐ๋กœ ์‹คํ–‰ ํ•œ ํ›„ ๊ฐ’์„ ๋ฐ”๊พธ๊ณ  ์žฌ์‹œ์ž‘์„ ํ–ˆ์–ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ MySql ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ์ด์šฉํ•˜๋ฉด ์ด๋Ÿฌํ•œ ๊ณผ์ •์ด ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค.

 

$ docker run --name blaunchDB  -e TZ=Asia/Seoul \
-v /root/mysql:/var/lib/mysql -d -p 3306:3306 \
mysql:8.0.27 --sql-mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"

 

์ด๋Ÿฐ์‹์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ run ํ•  ๋•Œ ๋ณ€์ˆ˜๋กœ ๋„ฃ์–ด์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ท€์ฐฎ๊ฒŒ ์ปจํ…Œ์ด๋„ˆ์—์„œ bash๋ฅผ ์‹คํ–‰ ํ•  ํ•„์š”๋„ ์—†์Šต๋‹ˆ๋‹ค. IaC ๊ธฐ๋ฐ˜์œผ๋กœ ์ธํ•ด์„œ ์„œ๋ฒ„ ๊ตฌ์ถ•ํ•˜๊ธฐ๊ฐ€ ํ›จ์”ฌ ๋” ํŽธํ•ด์ง„๊ฑฐ ๊ฐ™์Šต๋‹ˆ๋‹ค.

profile on loading

Loading...