DataBase/MySQL

MySQL - 사용법 - user control

Do.K 2022. 7. 24. 16:12

오타나 틀린 부분이 있을수 있습니다.

 

유저 생성
//로컬에서만 접근가능한 아이디 생성, identified by 뒤에오는 것은 비밀번호입니다
create user test_user@localhost identified by '1234';

// '%'를 붙이면 로컬호스트 포함 어디서든 접근가능하게 합니다
create user test_user@'%' identified by '1234';

 

유저삭제
//전역유저일때 
drop user test_user;

//로컬호스트일때
drop user test_user@localhost;

 

유저목록 조회
//user 목록만 출력
select user from mysql.user;

//호스트도 알고싶다
select host, user from mysql.user;

 

 

유저권한 부여
//testdb에 관한 모든권한을 test_user에게 부여한다
grant all privileges on testdb to test_user;

//testdb의 temptable에 관한 모든권한을 test_user에게 부여한다
grant all privileges on testdb.temptable to test_user;

// *(모든 db와 table)에 대하여 create, drop, alter 권한을 test_user에게 부여한다
grant create, drop, alter on * to test_user;

// testdb에 대하여 select권한을 test_user에게 부여함과 동시에 
// 다른 유저에게 해당 권한을 부여할 수 있는 권한까지 부여함
garnt select on testdb to test_user with grant option

//명령문은 차차 다룰것이므로  아래처럼 구성만 알아도 충분합니다
grant / 부여할 권한 / on / db 또는 테이블 / to / 권한을 부여할 유저

 

유저권한 회수
//testdb의 모든 테이블에대하여 select권한을 localhost인 test_user로부터 취소한다
rovoke select on testdb.* from test_user@'localhost';

 

유저 권한조회
//file_priv : 권한, authentication_string : 암호화된 비밀번호
select host, user, select_priv, authentication_string from user

//다른 권한의 이름은 아래에 따로 기재해 놓았습니다
//비밀번호는 암호화가 되어있기때문에 잊어먹었다면 변경하세요
//복호화가 가능은 하다고합니다만,,

 

비밀번호 변경
//alter는 바꾸다라는 명령어 중 하나입니다. id생성할때와 비슷해보입니다. 1111로 변경한다는 뜻
alter user test_user@'%' identified with mysql_native_password by '1111';

 

사용중인 유저, 데이터베이스 확인
select user();

select database();

 

 

기타 권한
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문을 수행할 수 있는 권한