Study/Linux

[Linux] MySQL/MariaDB 계정 생성 및 권한 부여하기

kwan97 2022. 11. 8. 17:34

1. 테스트 할 데이터베이스 생성하기

1) 현재 존재하는 데이터베이스들 조회하기

mysql> show databases;

2) 테스트에 사용할 데이터베이스 생성하기

-- mysql> create database [데이터베이스명];
mysql> create database testdb;

2. 테스트 할 사용자 계정 생성하기

1) 현재 등록되어 있는 사용자 계정 전체 조회하기

mysql> SELECT User, Host FROM mysql.user;

2) 사용자 계정 생성하기

mysql> CREATE USER '사용자 ID'@'%' IDENTIFIED BY '패스워드';
예시) mysql> CREATE USER 'testuser'@'%' IDENTIFIED BY 'testpwd';

명령어 중간에 들어 있는 **‘%’**를 보고 뜬금없다고 생각 할 수 있을 것 같아 설명을 덧붙여본다.

계정 생성 시 위 명령어처럼 **‘%’**를 붙여주면 모든 IP에서 접근이 가능하게 해주는 권한을 부여한다.

즉, 외부 시스템에서 접근이 가능 하게 해주는 것이라고 생각하면 된다. (Workbench에서 접근 가능)

3. 새로 생성된 계정에 권한 부여하기(두가지 방법)

  • 특정 데이터베이스만 사용이 가능하도록 권한 부여하는 명령문
mysql> grant all privileges on testdb.*to'testuser'@'%';
  • 모든 데이터베이스를 사용할 수 있는 권한 부여하는 명령문
mysql> grant all privileges on *.*to'testuser'@'%';

4. 권한 부여 후 적용해주는 명령문

mysql> flush privileges;

*사용자 계정 or 권한 삭제하기

>>계정 삭제하기
drop user '계정명'@'접속 위치';
ex ) drop user 'test@'localhost' / '%' / '[IP주소]';

>>권한 회수 및 삭제하기
revoke all on *.* from '계정명'@'접속 위치';
728x90