[JDBC (2) ] 데이터베이스 준비

Yeonbi_Kim·2024년 7월 20일
post-thumbnail

데이터베이스 준비

  • 내용 : MYSQL에서 사용할 데이터베이스와 사용자 계정을 설정하는 SQL 명령어.
  • 주요 개념 : 1) 데이터베이스 생성 : CREATE DATABASE jdbc_ex1;
    2) 사용자 생성 및 권한 부여:
sql

CREATE USER 'jdbc_ex1'@'%' IDENTIFIED BY 'jdbc_ex1';
GRANT ALL PRIVILEGES ON jdbc_ex1.* TO 'jdbc_ex1'@'%';
FLUSH PRIVILEGES;

1. 사용자 생성

sql

CREATE USER 'jdbc_ex1'@'%' IDENTIFIED BY 'jdbc_ex1';
  • CREATE USER : 새로운 사용자 계정을 생성하는 명령어이다.
  • 'jdbc_ex1'@'%' : 사용자 이름은 'jdbc_ex1'이며, '%'는 이 사용자가 모든 호스트에서 접근 할 수 있음을 의미한다. '%'는 와일드카드로, 모든 IP주소나 호스트명을 나타낸다.
  • IDENTIFIED BY 'jdbc_ex1': 사용자 'jdbc_ex1'의 비밀번호를 'jdbc_ex1'로 설정한다.

2. 권한 부여

sql
GRANT ALL PRIVILEGES ON jdbc_ex1.* TO 'jdbc_ex1'@'%';
  • GRANT ALL PRIVILEGES : 모든 권한을 부여하는 명령어이다.
  • ON jdbc_ex1.* : 'jdbc_ex1'데이터베이스의 모든 테이블에 대해 권한을 부여한다.
    'jdbc_ex1'는 데이터베이스 이름이다.
  • TO 'jdbc_ex1'@'%' : 'jdbc_ex1'사용자에게 해당 권한을 부여한다.

3. 권한 적용

sql
FLUSH PRIVILEGES;

FLUSH PRIVILEGES : 변경된 권한을 MySQL 서버에 적용하는 명령어. 권한 변경사항을 즉시 적용하여, 새로운 권한이 활성화되도록 한다.

<개념 설명>

1. CREATE USER

  • 개념 : MySQL데이터베이스에 새로운 사용자 계정을 생성한다.
  • 사용이유 : 특정 데이터베이스에 접근할 수 있는 사용자를 추가하기 위해 사용된다.
  • 유의점 : 사용자 이름과 비밀번호는 보안상 강력하게 설정해야 한다.

2. 'username'@'host'

  • 개념 : 사용자와 해당 사용자가 접속할 수 있는 호스트를 지정한다.
  • 사용 이유 : 특정 호스트 또는 ip주소에서만 데이터베이스에 접근하도록 제한할 수 있다.
  • 유의점 : '%'는 모든 호스트에서 접근을 허용하므로, 보안이 중요한 경우 특정 ip주소나 호스트를 명시하는 것이 좋다.

3. IDENTIFIED BY 'password'

  • 개념 : 사용자의 비밀번호를 설정한다.
  • 사용 이유 : 사용자 계정의 보안을 위해 비밀번호를 설정한다.
  • 유의점 : 비밀번호는 강력하고 예측 가능하기 어려운 것으로.

4. GRANT ALL PRIVILEGES

  • 개념: 사용자가 특정 데이터베이스에서 모든 작업(예: SELECT, INSERT, UPDATE, DELETE등) 을 수행할 수 있는 권한을 부여한다.
  • 사용 이유 : 특정 사용자에게 데이터베이스에 대한 모든 권한을 부여하여 관리 및 작업을 수행할 수 있게 한다.
  • 유의점: 모든 권한을 부여하는 것은 위험할 수 있으므로, 필요 최소한의 권한만 부여하는 것이 좋다.

5. ON database.*

  • 개념 : 특정 데이터베이스의 모든 테이블에 대해 권한을 지정한다.
  • 사용 이유 : 데이터베이스 전체에 대해 권한을 부여하기 위해 사용된다.
  • 유의점 : 데이터베이스 이름을 정확히 명시해야 한다.

6. FLUSH PRIVILEGES

  • 개념 : 권한 테이블의 변경 사항을 즉시 적용하는 명령어이다.
  • 사용이유 : 권한 변경 후 변경 사항을 즉시 적용하여 새로운 설명이 활성화되도록 한다.
  • 유의점 : 권한 변경 후 반드시 실행하여 변경 사항이 적용되도록 해야 한다.

이 명령어들은 MYSQL에서 새로운 사용자을 생성하고, 해당 사용자에게 특정 데이터베이스에 대한 모든 권한을 부여하며, 권한 변경 사항을 즉시 적용하는 과정을 설명한다. 이러한 명령어들은 데이터베이스의 보안과 접근 제어를 관리하는데 중요한 역할을 한다. 사용시 강력한 비밀번호 설정, 최소 권한 원칙 준수, 권한 변경 사항의 즉시 적용 등을 유의해야 한다.

0개의 댓글