MySQL 사용자 권한 및 계정 삭제하기
이번 시간에는 지난 시간에 이어서 MySQL 계정에 대한 권한과 계정을 삭제하는 방법에 대해서 살펴보겠습니다.
지난 글: MySQL에 새 계정 생성하고 권한 부여하기
MySQL에 새 계정 생성하고 권한 부여하기
MySQL을 처음 설치하면 'root'계정이 있습니다. 'root'계정은 거의 천하무적 계정으로 개발자들은 각자의 계정을 가지거나 또는 팀에 계정을 사용합니다. 이번 시간에는 MySQL에 새 계정을 생성하고
hoazzinews.tistory.com
1. 우분투를 실행하고 putty를 이용한 접속


2. MySQL 진입
$ sudo mysql -u root -p

mysql 데이터 베이스 선택
> use mysql;

3. 계정 조회
> select host, user, authentication_string from user;

4. 권한 삭제
- 'dev01'@'192.168.56.102'의 권한을 삭제합니다.
> revoke all privileges on *.* from 'dev01'@'192.168.56.1';

'revoke'를 이용해서 권한을 삭제하면 에러가 발생할 수 있습니다. 에러는 현재 로그인 계정(root)에 권한을 삭제할 수 있는 '시스템 권한'이 없어서 입니다.
- root 계정의 권한을 확인합니다.
> show grants for 'root'@'%';

- root 계정에 '시스템 권한'을 부여합니다.
> grant system_user on *.* to 'root'@'%';

- 권한 부여 후 권한을 즉시 적용합니다.
> flush privileges;

- root 계정의 권한을 확인합니다.

- 다시 'dev01'@'192.168.56.1'의 권한을 삭제합니다.
> revoke all privileges on *.* from 'dev01'@'192.168.56.1';

- MySQL을 빠져나온 후 mysql 서비스를 재시작 합니다.
> exit
$ sudo systemctl restart mysql;
$ sudo systemctl status mysql;

5. Workbench에서 dev01로 mysql 서버 접속

6. 'dev01'@'192.168.56.1'의 권한 확인

6. 'dev01'@'192.168.56.1' 계정 삭제
- root 계정으로 mysql에 진입합니다.
$ sudo mysql -u root -p

- mysql 데이터 베이스를 선택하고 user 테이블의 계정을 조회 합니다.
> use mysql;
> select host, user, authentication_string from user;

- 'dev01'@'192.168.56.1' 계정을 삭제합니다.
> drop user 'dev01'@'192.168.56.1';

※참고. 여러 계정(dev01, dev02) 삭제 방법
> drop user 'dev01'@'192.168.56.1', 'dev02'@'192.168.56.1';
- 다시 user 테이블에서 계정을 조회하면 'dev01'@'192.168.56.1'이 삭제된것을 확인할 수 있습니다.
> select host, user, authentication_string from user;

7. Workbench에서 dev01로 mysql 서버 접속


이번 시간에서는 mysql에서 특정 계정의 권한 삭제 및 계정 삭제를 살펴봤습니다.