프로젝트

Database- 데이터베이스 (2일차: MySQL 사용자 생성 및 권한 부여)

Chansman 2025. 3. 19. 18:27

 

과제 1: MySQL 사용자 생성 및 권한 부여

이번 과제의 목표는 MySQL에서 새로운 사용자를 생성하고, 권한을 부여하는 방법을 학습하는 것입니다. MySQL에서는 사용자를 생성하고 그 사용자가 어떤 작업을 할 수 있는지 정의할 수 있습니다. 이를 통해 데이터베이스의 보안을 관리하고, 각 사용자에게 필요한 권한만을 부여할 수 있습니다.

1️⃣ MySQL에 root 사용자로 로그인

  1. 먼저, MySQL의 root 계정으로 로그인해야 합니다. MySQL이 설치된 서버에서 터미널을 열고 다음 명령어를 입력합니다:
  2.  
  3. bash
mysql -u root -p

  2. -u 옵션은 사용자 이름을 지정하는 것이며, -p 옵션은 비밀번호를 묻도록 합니다. 이 명령어를 입력하면 비밀번호를 입        력하라는 메시지가 나타나므로 root 계정의 비밀번호를 입력합니다.

 

2️⃣ 새로운 MySQL 사용자 생성

새로운 사용자를 생성하려면 CREATE USER 명령어를 사용합니다. 예시로, **fishbread_user**라는 사용자를 생성해보겠습니다. 이 사용자는 **localhost**에서만 로그인할 수 있습니다.

sql
 
CREATE USER 'fishbread_user'@'localhost' IDENTIFIED BY 'password';
  • 'fishbread_user'는 새 사용자의 이름입니다.
  • 'localhost'는 사용자가 localhost에서만 접속할 수 있도록 제한하는 설정입니다. 만약 원격에서도 접속을 허용하고 싶다면 '%'를 사용하여 모든 IP에서 접속 가능하게 할 수 있습니다.
  • 'password'는 사용자의 비밀번호입니다.

3️⃣ 사용자에게 권한 부여

사용자가 생성된 후에는 특정 권한을 부여해야 합니다. 모든 권한을 부여하려면 GRANT 명령어를 사용합니다. 예시로 모든 데이터베이스와 테이블에 대해 모든 권한을 부여하는 방법은 다음과 같습니다:

sql
 
GRANT ALL PRIVILEGES ON *.* TO 'fishbread_user'@'localhost';
  • *.*는 모든 데이터베이스와 테이블에 대한 권한을 의미합니다. 특정 데이터베이스만 권한을 주고 싶다면 *.* 대신 database_name.* 형식으로 사용할 수 있습니다.
  • 'fishbread_user'@'localhost'는 권한을 부여할 대상 사용자입니다.

권한을 부여한 후에는 FLUSH PRIVILEGES; 명령어를 실행하여 변경사항을 적용해야 합니다:

sql
 
FLUSH PRIVILEGES;

4️⃣ 부여된 권한 확인

새로 생성한 사용자에게 어떤 권한이 부여되었는지 확인하려면 SHOW GRANTS 명령어를 사용합니다:

sql
 
SHOW GRANTS FOR 'fishbread_user'@'localhost';

이 명령어를 입력하면 fishbread_user 사용자에게 부여된 권한 목록이 표시됩니다.

5️⃣ 현재 로그인한 사용자의 권한 확인

현재 로그인한 사용자의 권한을 확인하려면 SHOW GRANTS 명령어를 사용하여 확인할 수 있습니다:

sql
 
SHOW GRANTS;
 

이 명령어는 현재 로그인한 사용자의 권한을 표시합니다.


요약

  1. MySQL에 root 사용자로 로그인하여 CREATE USER 명령어로 새로운 사용자 생성.
  2. GRANT 명령어를 사용하여 해당 사용자에게 필요한 권한을 부여.
  3. FLUSH PRIVILEGES 명령어로 권한 변경사항 적용.
  4. SHOW GRANTS 명령어로 부여된 권한을 확인.