top

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

IT/MySQL

MySQL ์‚ฌ์šฉ์ž ๊ด€๋ฆฌํ•˜๊ธฐ


MySQL ์—์„œ ์‚ฌ์šฉ์ž๋ฅผ ์ถ”๊ฐ€, ๊ด€๋ฆฌ๋ฅผ ์•Œ์•„๋ณด์ž. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ ์‚ฌ์šฉ์ž๋ณ„๋กœ ๊ถŒํ•œ์„ ์ค„ ์ˆ˜ ์žˆ๋‹ค.

๋จผ์ €, ์‚ฌ์šฉ์ž๋ฅผ ์ถ”๊ฐ€ํ•ด๋ณด์ž.


1.

root ๊ณ„์ •์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘์†ํ•œ๋‹ค. ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ์— ๋Œ€ํ•œ ๊ถŒํ•œ์€ root์—๊ฒŒ๋งŒ ์žˆ๋‹ค. ์ ‘์†ํ•œ ํ›„์— Management > Users and Privileges ๋ฅผ ํด๋ฆญํ•œ๋‹ค.


2.

์œ„์™€ ๊ฐ™์€ ํ™”๋ฉด์ด ๋‚˜์˜ฌ ๊ฒƒ์ด๋‹ค. ์—ฌ๊ธฐ์„œ ์™ผ์ชฝ ์•„๋ž˜์— Add Account ๋ฅผ ํด๋ฆญํ•œ๋‹ค.


3.

์ถ”๊ฐ€ํ•  ์‚ฌ์šฉ์ž์˜ ์ด๋ฆ„๊ณผ ๊ทธ ์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•œ ๋’ค Apply๋ฅผ ํด๋ฆญํ•œ๋‹ค.


4.

Administrative Roles ํƒญ์—์„œ๋Š” DB์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ์— ๊ด€ํ•œ ๊ถŒํ•œ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. DBA๊ฐ™์ด ํฌ๊ด„์ ์ธ ๊ถŒํ•œ์€ ์™ผ์ชฝ ํ…Œ์ด๋ธ”์—์„œ, ์„ธ์„ธํ•œ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ๊ถŒํ•œ์€ ์˜ค๋ฅธ์ชฝ ํ…Œ์ด๋ธ”์—์„œ ์„ ํƒํ•œ๋‹ค. ์ฐธ๊ณ ๋กœ, DBA๋Š” ๋ชจ๋“  ๊ถŒํ•œ์„ ๊ฐ€์ง€๋ฏ€๋กœ DBA๋ฅผ ์ฒดํฌํ•  ๊ฒฝ์šฐ ๋ชจ๋“  ์ฒดํฌ๋ฐ•์Šค๊ฐ€ ์„ ํƒ๋œ๋‹ค. ๋˜ํ•œ ์˜ค๋ฅธ์ชฝ ํ…Œ์ด๋ธ”์—์„œ ๊ถŒํ•œ์„ ํด๋ฆญํ•˜๋ฉด ์™ผ์ชฝ ํ…Œ์ด๋ธ”์— Custom์ด ๋‚˜ํƒ€๋‚œ๋‹ค. ๋‹ค ์„ ํƒํ–ˆ์œผ๋ฉด Apply๋ฅผ ํด๋ฆญํ•˜๋ฉด ๋œ๋‹ค.


์œ„์˜ ๊ณผ์ •์„ ์•„๋ž˜ SQL๋ฌธ์œผ๋กœ ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

CREATE USER ์‚ฌ์šฉ์ž์ด๋ฆ„@'%' IDENTIFIED BY '์‚ฌ์šฉ์ž์ด๋ฆ„';    -- ์‚ฌ์šฉ์ž ์ƒ์„ฑ

GRANT ALL ON *.* TO ์‚ฌ์šฉ์ž์ด๋ฆ„@'%' WITH GRANT OPTION;    -- DBA ๊ถŒํ•œ์„ ์ค„ ๋•Œ

GRANT SELECT ON *.* TO ์‚ฌ์šฉ์ž์ด๋ฆ„@'%';    -- ๋ชจ๋“  ํ…Œ์ด๋ธ”์˜ SELECT์— ๋Œ€ํ•œ ๊ถŒํ•œ์„ ์ค„ ๋•Œ



5.

4๋ฒˆ์ฒ˜๋Ÿผ ๋ชจ๋“  ๋ฐ์ดํ…Œ์— ๋Œ€ํ•œ ๊ถŒํ•œ์ด ์•„๋‹Œ, ๊ฐ ํ…Œ์ด๋ธ”๋ณ„๋กœ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด Schema Privileges ํƒญ์œผ๋กœ ๊ฐ„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์•„๋ž˜ Add Entry๋ฅผ ํด๋ฆญํ•œ๋‹ค.


6.

์œ„์™€ ๊ฐ™์€ ์ฐฝ์ด ๋‚˜์˜ค๋ฉด Selected schema๋ฅผ ์„ ํƒํ•˜๊ณ  ์ฝค๋ณด๋ฐ•์Šค์—์„œ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•  ํ…Œ์ด๋ธ”์„ ์„ ํƒํ•œ๋‹ค.


7.

ํ…Œ์ด๋ธ”์„ ์„ ํƒํ•˜๋ฉด ์ด๋ฆ„์ด ์œ„์ฒ˜๋Ÿผ ํ‘œ์‹œ๋  ๊ฒƒ์ด๋‹ค. ์ด์ œ ์•„๋ž˜์—์„œ ์›ํ•˜๋Š” ๊ถŒํ•œ์„ ์„ ํƒํ•œ๋‹ค. ์˜ค๋ธŒ์ ํŠธ๊ถŒํ•œ๊ณผ DDL(ํ…Œ์ด๋ธ” ์ •์˜)๊ถŒํ•œ ๋“ฑ์ด ์žˆ๋‹ค. ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์˜ ๊ถŒํ•œ์„ ๋˜ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด 5~7๋ฒˆ์„ ๋ฐ˜๋ณตํ•˜๋ฉด ๋œ๋‹ค. ๋‹ค ์„ค์ •ํ•œ ๋’ค Apply๋ฅผ ํด๋ฆญํ•œ๋‹ค.


์œ„์˜ 5~7๋ฒˆ์˜ ๊ณผ์ •๋„ SQL๋ฌธ์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

CREATE USER ์‚ฌ์šฉ์ž์ด๋ฆ„@'%' IDENTIFIED BY '์‚ฌ์šฉ์ž์ด๋ฆ„';

GRANT SELECT, INSERT, UPDATE ON ํ…Œ์ด๋ธ”์ด๋ฆ„.* TO ์‚ฌ์šฉ์ž์ด๋ฆ„@'%';    -- ์‚ฌ์šฉ์ž์—๊ฒŒ ํ•ด๋‹น ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋“ค์˜ SELECT, INSERT UPDATE ๊ถŒํ•œ์„ ๋ถ€์—ฌ


8.

์‚ฌ์šฉ์ž๋ฅผ ๋งŒ๋“  ๋’ค์— ๊ทธ ์‚ฌ์šฉ์ž๋กœ ๋กœ๊ทธ์ธํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, ์—ฐ๊ฒฐ๋œ SQL์—์„œ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ํด๋ฆญํ•ด์„œ Edit Connection์„ ํด๋ฆญํ•œ๋‹ค.


9.

์œ„ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ Username์— ๋กœ๊ทธ์ธํ•  ์‚ฌ์šฉ์ž์˜ ์ด๋ฆ„์„ ๋„ฃ๊ณ  Close๋ฅผ ํด๋ฆญํ•˜์—ฌ ๋‹ซ๋Š”๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ฐ๊ฒฐ๋œ SQL์„ ๋”๋ธ”ํด๋ฆญํ•˜๊ณ  ์•”ํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ํ•ด๋‹น ์‚ฌ์šฉ์ž๋กœ ๋กœ๊ทธ์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๋งŒ์•ฝ ๋ฆฌ๋ˆ…์Šค์—์„œ ๋‹ค๋ฅธ์‚ฌ์šฉ์ž๋กœ SQL์— ์ ‘์†ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด mysql -u ์‚ฌ์šฉ์ž์ด๋ฆ„ -p ๋ช…๋ น์„ ์‚ฌ์šฉํ•œ๋‹ค.