Database (๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค)

DDL์„ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ๊ณ„์ • ์ƒ์„ฑํ•˜๊ธฐ, db ์›๊ฒฉ ์ ‘์† (create user)

9taetae9 2024. 2. 5. 20:41
728x90

mysql, mariadb์—์„œ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ๊ณ„์ •์„ ์ƒ์„ฑํ•ด ๋ณด์ž.

์•„๋ž˜์˜ ์ฟผ๋ฆฌ๋ฌธ์„ ํ†ตํ•ด ๊ณ„์ •์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. 

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

 

'username' : ๊ณ„์ • ๋ช…

'host' : ํ•ด๋‹น ๊ณ„์ •์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ํ˜ธ์ŠคํŠธ ์ง€์ • 

 

'host'๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ์—ฌ๋Ÿฌ ๋ฐฉ์‹์ด ์žˆ๋‹ค.

localhost

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password'; ๋ผ๋ฉด, username ๊ณ„์ •์€ ๋กœ์ปฌ ๋จธ์‹ ์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•  ๋•Œ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๊ฐ™์€ ์„œ๋ฒ„์—์„œ ์‹คํ–‰๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์‚ฌ์šฉ๋œ๋‹ค.

 

์™€์ผ๋“œ์นด๋“œ '%'

CREATE USER 'username'@'%' IDENTIFIED BY 'password'; ์ผ ๊ฒฝ์šฐ, '%'๋Š” ์™€์ผ๋“œ์นด๋“œ๋กœ ์–ด๋–ค ํ˜ธ์ŠคํŠธ์—์„œ๋“  ์—ฐ๊ฒฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ํ•ด๋‹น ์„ค์ •์€ db์— ์›๊ฒฉ ์ ‘์† ์‹œ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ ์ ˆํžˆ ๊ด€๋ฆฌ๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ๋ณด์•ˆ์ƒ ์œ„ํ—˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

ํŠน์ • ip ์ฃผ์†Œ, ์„œ๋ธŒ๋„ท ๋งˆ์Šคํฌ 

CREATE USER 'username'@'192.168.1.%' IDENTIFIED BY 'password'; ์˜ ๊ฒฝ์šฐ, ํŠน์ • ์„œ๋ธŒ๋„ท ๋‚ด์˜ ๋ชจ๋“  IP ์ฃผ์†Œ์—์„œ ์—ฐ๊ฒฐ์„ ํ—ˆ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ํŠน์ •  ๋„คํŠธ์›Œํฌ ๋‚ด์˜ ๋ฒ”์œ„์— ์žˆ๋Š” ip ์ฃผ์†Œ๋กœ๋ถ€ํ„ฐ์˜ ์—ฐ๊ฒฐ์„ ํ—ˆ์šฉํ•˜๋Š”๋ฐ ์œ ์šฉํ•˜๋‹ค. 

 

ํ˜ธ์ŠคํŠธ ์ด๋ฆ„

CREATE USER 'username'@'myhost.example.com' IDENTIFIED BY 'password'; ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ํŠน์ • ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ๊ฐ€์ง„ ์žฅ์น˜์—์„œ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค. MySQL(MariaDB) ์„œ๋ฒ„๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์—ฐ๊ฒฐํ•  ๋•Œ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์„ ip ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.

 

 

๊ณ„์ • ์ƒ์„ฑํ•˜๊ธฐ
์šฐ๋ถ„ํˆฌ db ์„œ๋ฒ„์—์„œ create user ‘testuser3’@‘localhost’ identified by ‘password’; ๋กœ ๊ณ„์ •์„ ํ•˜๋‚˜ ์ƒ์„ฑํ•ด ์ฃผ์—ˆ๋‹ค.

(๊ณ„์ •์ด๋ฆ„ : testuser3, host: localhost์—์„œ๋งŒ(์ฆ‰, ubuntu db server ๋‚ด์—์„œ๋งŒ ๊ฐ€๋Šฅ), ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” 'password'๋กœ ์„ค์ •ํ•œ ์ƒํ™ฉ์ด๋‹ค.)

๊ณ„์ • ์ƒ์„ฑ ์ดํ›„ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„๊ฐ€ ์ธ์‹ํ•˜๊ฒŒ ํ•ด ์ฃผ๊ธฐ ์œ„ํ•ด  flush privileges; ๋ฅผ ์‹คํ–‰ํ•˜์ž.

์ด๋Š” CREATE USER, GRANT, REVOKE, DROP USER์™€ ๊ฐ™์€ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ๊ณ„์ •์ด๋‚˜ ๊ถŒํ•œ ์„ค์ •์„ ์ง์ ‘ ๋ณ€๊ฒฝํ–ˆ์„ ๋•Œ, ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ฆ‰์‹œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„์— ๋ฐ˜์˜๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

*flush privileges์˜ ์—ญํ• 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„๋Š” ์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด ๊ถŒํ•œ ๊ฒ€์‚ฌ ์ •๋ณด๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์บ์‹œํ•œ๋‹ค. FLUSH PRIVILEGES; ๋ช…๋ น์€ ์บ์‹œ๋ฅผ ๋น„์šฐ๊ณ , ๊ถŒํ•œ ํ…Œ์ด๋ธ”์—์„œ ์ตœ์‹  ์ •๋ณด๋ฅผ ๋‹ค์‹œ ์ฝ์–ด ๋“ค์—ฌ ์บ์‹œ๋ฅผ ๊ฐฑ์‹ ํ•ด ์ค€๋‹ค.

๋˜, ์‹œ์Šคํ…œ์˜ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•˜๊ณ , ์‚ฌ์šฉ์ž ๋ฐ ๊ถŒํ•œ ์„ค์ •์˜ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด, ๊ถŒํ•œ ๋ณ€๊ฒฝ ์ž‘์—… ํ›„์—๋Š” ํ•ญ์ƒ FLUSH PRIVILEGES;๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด, ๊ถŒํ•œ ๊ด€๋ จ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ฆ‰์‹œ ์ ์šฉ์‹œํ‚ค๊ณ , ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์ ‘๊ทผ ๊ถŒํ•œ ๋ฌธ์ œ๋ฅผ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

์ด์ œ ์šฐ๋ถ„ํˆฌ db ์›๊ฒฉ์ ‘์†์„ ์œ„ํ•ด ์šฐ๋ถ„ํˆฌ ๋„คํŠธ์›Œํฌ์— ํ• ๋‹น๋œ ipv4 ์ฃผ์†Œ๋ฅผ ifconfig ๋ช…๋ น์–ด๋กœ ํ™•์ธํ•ด ์ค€๋‹ค. ex) inet 192.168.64.2

 

์ด์ œ testuser3๋กœ ์›๊ฒฉ ์ ‘์†์„ ์‹œ๋„ํ•ด ๋ณด์ž. ํ„ฐ๋ฏธ๋„(iterm2) ์ฐฝ์—์„œ  mysql -h '์ ‘์† ip์ฃผ์†Œ' -u ๊ณ„์ •๋ช… -p์„ ์ž…๋ ฅํ•œ๋‹ค.

ํ•˜์ง€๋งŒ ์œ„์™€ ๊ฐ™์ด 'access denied for user'์˜ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด์„œ ์›๊ฒฉ์ ‘์†์„ ์‹คํŒจํ•œ๋‹ค.

์ด๋Š” ๊ณ„์ •์„ 'localhost'๋กœ create ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. (๋งŒ์•ฝ ๊ณ„์ •์„ '%'๋กœ create ํ–ˆ๋‹ค๋ฉด ํ•ด๋‹น ๊ณ„์ •์œผ๋กœ๋Š” ์›๊ฒฉ ์ ‘์†์ด ๊ฐ€๋Šฅํ•˜๋‹ค.)

 

์šฐ๋ถ„ํˆฌ local์—์„œ๋Š” 'testuser3' ๊ณ„์ •์œผ๋กœ ์ ‘์†์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

 

์šฐ๋ถ„ํˆฌ local์— ssh ์ ‘์†์„ ํ•œ ๋’ค์— ๋‹ค์‹œ ์‹œ๋„ํ•ด๋ณด๋ฉด ์ •์ƒ์ ์œผ๋กœ ์ ‘์†์ด ๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

(ssh ์ ‘์† : ssh ์šฐ๋ถ„ํˆฌ์‚ฌ์šฉ์ž๊ณ„์ •๋ช…@ํ•ด๋‹น์žฅ์น˜ IP์ฃผ์†Œ)

์ƒˆ๋กœ ์ƒ์„ฑํ•œ ๊ณ„์ •์œผ๋กœ show databases; ์ž…๋ ฅํ•ด ๋ณด๋ฉด

 

๋ฃจํŠธ ๊ณ„์ •๊ณผ๋Š” ๋‹ฌ๋ฆฌ ์ ์€ ์ˆ˜์˜ database๋งŒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ด๋Š” ๊ณ„์ • ๊ถŒํ•œ์„ ๋”ฐ๋กœ ์„ค์ •ํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. 

 

 

 

๋ฃจํŠธ ๊ณ„์ •์œผ๋กœ ์ ‘์† ์‹œ ์•„๋ž˜์™€ ๊ฐ™์ด 4๊ฐœ์˜ database๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

~$ mysql -u root -p  

 

 

 

 

 

 

 

mysql database์—์„œ ์•„๋ž˜์™€ ๊ฐ™์ด user, host ๋“ฑ์˜ ๊ณ„์ • ์ •๋ณด๋“ค์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์—ฌ๊ธฐ์„œ๋„ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด ์ƒˆ๋กœ ์ƒ์„ฑํ•ด ์ฃผ์—ˆ๋˜ 'testuser3' ๊ณ„์ •์€ localhost์—์„œ๋งŒ ์ ‘์†์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์ •๋ณด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. 

์•„๋ž˜์™€ ๊ฐ™์ด 'testuser4' ๊ณ„์ •์„ ๋งŒ๋“ค๊ณ  ์™€์ผ๋“œ์นด๋“œ '%'๋ฅผ ํ†ตํ•ด ์–ด๋””์„œ๋“  ์ ‘์†์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๊ณ  ๋น„๊ตํ•ด ๋ณด์ž.

์™ธ๋ถ€์—์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ์›๊ฒฉ ์ ‘์†์„ ์‹œ๋„ํ•ด ๋ณด๋ฉด ์ด๋ฒˆ์—๋Š” ์—๋Ÿฌ ์—†์ด ์ ‘์†์ด ๊ฐ€๋Šฅํ•œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ show databases; ๋ช…๋ น์— ๊ถŒํ•œ์ด ์ œํ•œ์ ์ธ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ํŠน์ • db์— ๋Œ€ํ•ด์„œ ํ•ด๋‹น ๊ณ„์ •์— ๊ถŒํ•œ ๋ถ€์—ฌ๋ฅผ ํ•ด์ฃผ์–ด์•ผ ์กฐํšŒ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

๊ณ„์ • ๊ถŒํ•œ ์„ค์ •์— ๋Œ€ํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ ๊ธ€์—์„œ ์ด์–ด์„œ ๋‹ค๋ฃจ์—ˆ๋‹ค.

https://9taetae9.tistory.com/44

 

DDL์„ ํ†ตํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ณ„์ • ๊ถŒํ•œ ์„ค์ • (grant all privileges on)

์šฐ์„  ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด ์šฐ๋ถ„ํˆฌ local์—์„œ db1 ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋ฅผ ์ƒ์„ฑํ•ด ์ฃผ์—ˆ๋‹ค. testuser4๋กœ ์›๊ฒฉ ์ ‘์†์„ ํ•œ ๋’ค, show databases; ๋ช…๋ น์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด root ๊ณ„์ •์—์„œ ๋ณด์ด๋Š” 5๊ฐœ์˜ databases๊ฐ€ ์•„๋‹Œ 1๊ฐœ์˜ db๋งŒ ์กฐํšŒ

9taetae9.tistory.com

 

728x90