본문 바로가기
개발~/SQL

MySQL > 사용자 추가/삭제/권한

by 보배곰 2019. 7. 4.

1. mysql 접속하기

$ mysql -h 호스트 -u 아이디 -p
Enter password:비밀번호

$ mysql -h호스트 -u아이디 -P포트 -p
Enter password:비밀번호

비밀번호 입력 시, 화면에서는 보이지 않습니다만 입력되고 있는 중입니다. 

다 입력하고 엔터를 누르면 mysql 로 접속됩니다. 

2. mysql 사용자 확인하기

mysql> use mysql;
mysql> select user, host from user;

3. 사용자 추가하기

mysql> CREATE USER '아이디'@'호스트' IDENTIFIED BY '비밀번호';


mysql> CREATE USER '아이디'@'%' IDENTIFIED BY '비밀번호';

호스트=% 이면, 해당 아이디로 모든 호스트에서의 접근을 허용합니다. 

아이디와 비밀번호에는 만들고 싶은 아이디와 해당 아이디의 비밀번호를 입력해줍니다. 

4. 사용자 제거하기

mysql> DROP USER '아이디';

5. 권한 확인하기

mysql> SHOW GRANTS FOR '아이디'@'호스트';

6. 권한 부여하기

mysql> GRANT 권한 ON 데이터베이스.테이블 TO '아이디'@'호스트';


mysql> GRANT SELECT ON 데이터베이스.테이블 TO '아이디'@'호스트';

mysql> GRANT ALL PRIVILEGES ON 데이터베이스.테이블 TO '아이디'@'호스트';

> GRANT select,insert,update,delete ON webservice.* TO 'belle'@'%';

아이디가 belle (호스트는 모든 호스트)인 계정에 webservice라는 데이터베이스에 있는 모든 테이블에 대해 select,insert,update,delete 권한을 준다는 의미입니다. 

 

mysql> FLUSH PRIVILEGES;

flush privileges 해줘야, 설정한 권한이 실제로 적용됩니다. 

7. 권한 삭제하기

mysql> REVOKE 권한 ON 데이터베이스.테이블 FROM '아이디'@'호스트';


mysql> REVOKE SELECT ON 데이터베이스.테이블 FROM '아이디'@'호스트';

mysql> REVOKE ALL ON 데이터베이스.테이블 FROM '아이디'@'호스트';

mysql> REVOKE select on webservice.* FROM 'belle'@'%';

아이디가 belle인 계정에 webservice라는 데이터베이스에 있는 테이블에 대한 select 권한을 삭제합니다. 

권한 전체 삭제는 ALL을 넣어줍니다. 

mysql> FLUSH PRIVILEGES;

마찬가지로, 변경된 권한이 적용하게 하기 위해서는 FLUSH PRIVILEGES;를 해줍니다. 

 

'개발~ > SQL' 카테고리의 다른 글

[mysql] 이름 가운데 글자 * 로 치환하기  (0) 2020.12.02
[책] SQL 코딩의 기술  (0) 2018.01.14

댓글