[MySQL] user Table 권한설명
user테이블의 범위 필드값
1) Host : 호스트 이름이나 IP주소를 입력할 수 있다. 디폴트는 localhost이다. '%'라는 와일드값을 사용한다.
'%'는 일반적인 운영체제의 '*'와 유사하다. 특정한 이름이 주어지지 않으면 모든 이름을 포괄한다.
즉 어떠한 호스트로부터도 접근 가능합니다.
2) User : 와일드 값을 허용하지 않는다. 모든 유저에 해당하는 공백으로 지정할 수는 있다.
연결하려는 목록에 공백 사용자 이름이 있다면 클라이언트에서
실제로 지정한 이름 대신에 그 사용자는 익명 사용자, 이름이 없는 사용자로서 간주된다.
3) Password : 공백으로 둘 수 있다. 이것은 아무 비밀번호나 사용할 수 있다는 것을 의미하는 것이 아니라,
사용하는 비밀번호를 지정하지 않고 연결해야 한다는 의미이다.
접근권한
Select_priv : select문을 수행할 수 있는 권한
Insert_priv : insert문을 수행할 수 있는 권한
Update_priv : update문을 수행할 수 있는 권한
Delete_priv : delete문을 수행할 수 있는 권한
Create_priv : create문을 수행하거나 테이블을 생성할 수 있는 권한
Drop_priv : drop문을 수행하거나 데이타베이스를 삭제할 수 있는 권한
Reload_priv : mysqladmin reload명령을 이용하여 접근정보를 다시 읽을 수 있는 권한
Shutdown_priv : mysqladmin shutdown명령을 이용하여 서버를 종료시킬 수 있는 권한
Process_priv : 서버 프로세스를 관리할 수 있는 권한
File_priv : select into outfile과 load data infile과 같은 명령을 이용하여 파일에 읽고 쓸 수 있는 권한
Grant_priv : 자신의 권한을 남에게 부여할 수 있는 권한
References_priv : 사용하지 않음
Index_priv : 인덱스를 만들거나 삭제할 수 있는 권한
Alter_priv : alter table문을 수행할 수 있는 권한
(참고) 접근권한에서 유의할점
(1) select_priv는 테이블에서 데이터를 가져오는 권한만을 지정한다.
select 2+3;과 같은 select 에는 해당하지 않는 권한이다.
(2) 일반사용자에게는 file_priv권한을 주지 않는 것이 좋다.
특히 MySQL서버를 시스템의 root 사용자로 실행중일 때는 일반 사용자에게 특히 주지 말아야 한다.
(3) process_priv도 일반 사용자에게 권한을 주지 않는 것이 좋다.
(4) shutdown_priv는 권한이 있는 사용자에게 MySQL서버 종료를 하게 해주므로 유의해야 한다.
(5) 단순히 테이블에서 데이터를 가져올 목적인 사용자에게는 update, delete, drop, alter권한은 주지 않는 것이 좋다.