본문 바로가기

Programming/Database

[MySQL] 데이터베이스, 테이블, 유저 생성 및 권한 부여


테스트 환경

OS : Ubuntu 16.04.3 LTS (AWS Server)

Database : MySQL 5.7



1. 데이터베이스 생성


mysql> create database testDB

Query OK, 1 row affected (0.00 sec)


mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| testDB             |

| performance_schema |

| sys                |

+--------------------+




2. 샘플 테이블 생성


mysql> crate table sample(

name varchar(10),

id varchar(20)

)




3. 유저 생성

 - 'testUser'@'%' : testUser id는 외부에서 접근 가능

 - 'testUser'@'localhost' : testUser id는 내부에서 접근 가능

 - 'testUser'@'192.168.0.xxx' : testUser id는 192.168.0.xxx IP로만 접근 가능

 - 생성 확인


mysql> create user 'testUser'@'%' identified by 'pass';

mysql> create user 'testUser'@'localhost' identified by 'pass;

mysql> select user, host, authentication_string  from user;




4. 권한 부여

 - 외부와 내부로 접근하는 testUser에게 testDB로 한정하여 모든 권한을 주겠다

 - flush privileges 명령어로 권한 설정을 확정한다. 


mysql>grant all privileges on testDB.* to 'testUser'@'%';

mysql>grant all privileges on testDB.* to 'testUser'@'localhost';

mysql>flush privileges;


 - 권한 설정 확인


mysql> show grants for 'testUser'@'%';

+----------------------------------------------------+

| Grants for testUser@%                                |

+----------------------------------------------------+

| GRANT USAGE ON *.* TO 'testUser'@'%'                 |

| GRANT ALL PRIVILEGES ON `testDB`.* TO 'testUser'@'%' |

+----------------------------------------------------+








맨 위로