mysql user 추가 및 권한설정

sangwoo noh·2022년 7월 8일
0

mysql

목록 보기
1/11

1. 현재 유저 상태 확인하기

$ select host, user from user;

2. 유저 추가하기

  • 첫번째 방법
$ mysql > create user userid@localhost identified by '비밀번호';
$ mysql > create user 'userid'@'%' identified by '비밀번호';
// '%' 의 의미는 외부에서의 접근을 허용
$ mysql > create user 'nohsangwoo'@'%' identified by 'test12#!';

기존에 사용하던 계정에 외부 접근 권한을 부여하려면, Host를 '%' 로 하여 똑같은 계정을 추가한다  


// 예시) 패스워드 플러그인 사용시
$ mysql> CREATE USER 'native_pwd_user1'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
Query OK, 0 rows affected (0.03 sec)

$ mysql> CREATE USER 'native_pwd_user2'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
Query OK, 0 rows affected (0.05 sec)


$ mysql> CREATE USER 'sha256_pwd_user1'@'localhost' IDENTIFIED WITH sha256_password BY 'root';
Query OK, 0 rows affected (0.07 sec)

$ mysql> CREATE USER 'sha256_pwd_user2'@'localhost' IDENTIFIED WITH sha256_password BY 'root';
Query OK, 0 rows affected (0.13 sec)
  • 두번째 방법
$ mysql > INSERT INTO user (Host, User, Password) VALUES ('localhost', '계정아이디', password('비밀번호'));
$ mysql > INSERT INTO user (Host, User, Password) VALUES ('%', '계정아이디', password('비밀번호'));
$ mysql > FLUSH privileges;

사용자 삭제

$ mysql > drop user '사용자ID'@localhost;

사용자의 권한 확인

$ mysql > SHOW GRANTS FOR 'user_id'

사용자의 권한 승인

$ GRANT 권한 ON 데이터베이스.테이블 TO '아이디'@'호스트' IDENTIFIED BY '비밀번호'


// 예제1 - 원하는 동작 권한을 일일히 선택해서 줄수도 있고.
$ mysql > GRANT DELETE, INSERT, SELECT, UPDATE ON `testdb`.* TO `ts03_200610_A003`@`%`;


// 예제2 - 모든 권한을 한방에 줄수도 있다.
$ mysql > GRANT ALL PRIVILEGES ON `testdb`.* TO `ts03_200610_A003`@`%`;

사용자 권한 삭제

revoke {권한} privileges on {스키마}.{테이블} from {username}@{ip};
// 예제1 - 위 권한 승인 예제에서 준 권한을 기준으로 삭제예시를 든다
$ mysql > revoke ALL on testdb.* from ts03_200610_A003@'%';
profile
하기로 했으면 하자

0개의 댓글