MySQL 데이터베이스 액세스 챌린지

MySQLBeginner
지금 연습하기

소개

한 소규모 기업에서 새로운 마케팅 팀을 위한 데이터베이스 접근 권한 설정이 필요합니다. 여러분은 데이터베이스 관리자로서, 마케팅 팀이 고객 데이터를 조회하고 분석할 수는 있지만 수정은 할 수 없도록 제한하는 새로운 사용자 계정을 생성해야 합니다.

이 콘텐츠는 챌린지입니다. 가이드에 따라 학습하는 실습과 달리, 스스로 독립적으로 과제를 해결해야 합니다. 챌린지는 다소 난이도가 있을 수 있지만, 어려움을 겪는다면 Labby 와 상담하거나 모범 답안을 확인할 수 있습니다. 통계에 따르면 이 챌린지는 초급 수준이며, 99%의 통과율과 학습자들로부터 99%의 긍정적인 평가를 기록하고 있습니다.

마케팅 분석가 접근 권한 생성

과제

  • root 사용자로 MySQL 에 접속합니다.
  • 로컬 호스트 (localhost) 에서만 접속 가능한 marketing_analyst라는 이름의 새 사용자를 생성합니다.
  • 이 사용자에게 marketing_db 데이터베이스의 모든 테이블에 대해 조회 (SELECT) 권한을 부여합니다.
  • 사용자가 보안이 강화된 비밀번호를 사용하도록 설정합니다.

요구 사항

  • 모든 작업은 ~/project 디렉토리에서 수행해야 합니다.
  • 사용자 이름은 반드시 marketing_analyst여야 합니다.
  • 해당 사용자는 오직 localhost 에서만 접속할 수 있어야 합니다.
  • 해당 사용자는 marketing_db 에 대해 오직 SELECT 권한만 가져야 합니다.
  • 비밀번호는 최소 8 자 이상이어야 합니다.

예시

사용자 설정을 올바르게 마친 후 권한을 확인하면 다음과 유사한 결과가 출력되어야 합니다.

SHOW GRANTS FOR 'marketing_analyst'@'localhost';
+--------------------------------------------------------------------------------------------------------------------------+
| Grants for marketing_analyst@localhost                                                                                   |
+--------------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `marketing_analyst`@`localhost` IDENTIFIED BY PASSWORD '*63CC12793CD9D5CB64C4FED01CC3D4DE25848489' |
| GRANT SELECT ON `marketing_db`.* TO `marketing_analyst`@`localhost`                                                      |
+--------------------------------------------------------------------------------------------------------------------------+
✨ 솔루션 확인 및 연습

요약

이번 챌린지에서는 특정 접속 제한이 있는 MySQL 사용자를 생성하는 실습을 진행했습니다. 사용자 계정 생성, 접속 위치 제한 설정, 데이터베이스 수준에서의 적절한 권한 부여 등의 기술을 학습했습니다. 이러한 기본적인 보안 실무는 데이터베이스 시스템에서 올바른 접근 제어를 유지하는 데 필수적입니다.