메뉴 건너뛰기

Dev tips

DataBase [MySQL] 사용자 계정 관리하기 (추가/변경/삭제)

taknim 2009.09.18 20:27 조회 수 : 10059 추천:2831

[계정 추가]
-- 계정 user001 , 비밀번호 password 로 계정 생성 할 경우
GRANT ALL ON *.* TO 'user001'@'127.0.0.1' IDENTIFIED BY 'password';

ALL 을 바꿔서 특정 권한만 줄 수 있다. 예) SELECT, INSERT, UPDATE, DELETE, EXECUTE
ON 다음에는 권한을 가지는 디비명과 테이블명. 예) test.aaa => test 디비에 있는 aaa 테이블, test.* => test 디비에 있는 전체 테이블
TO 다음에는 사용자명과 접속가능한 아이피. 예) 127.0.0.1 => 127.0.0.1 에서만 접속 가능, 192.168.0.% => 192.168.0 으로 시작하는 아이피 전체, % => 전체 아이피
IDENTIFIED BY 뒤에는 비밀번호 입력.

[계정 비밀번호 변경]
-- user001 계정의 비밀번호를 변경할 경우
1. SET PASSWORD FOR user001=password('새비밀번호');
2. UPDATE user SET password=password('새비밀번호') WHERE user='user001';
3. shell>mysqladmin -uuser001 password 새비밀번호

[계정 삭제]
-- user001 계정을 삭제할 경우
DLETE FROM user WHERE user='user001';

[권한 적용]
GRANT 실행 후나 사용자 계정의 변화가 있다면 반드시 flush privileges; 를 실행해줘야 권한이 적용된다. 아님 mysql 재시작?
리눅스쉘에서 바로 실행할 경우
shell>mysqladmin -uroot -p flush-privileges