MySQL은 여러 사용자가 동시에 접속해 데이터를 처리할 수 있는 다중 사용자 데이터베이스 시스템입니다. 따라서 사용자 계정을 체계적으로 관리하고 적절한 권한을 부여하는 것은 보안과 운영 효율성을 위해 매우 중요합니다.
MySQL 사용자 계정 생성, 권한 부여, 수정 및 삭제 방법을 포함하여 권한 확인 및 보안 관리까지 실제 운영에 필요한 내용을 알려드립니다.
MySQL 사용자 계정 생성
사용자 계정은 다음 명령으로 생성합니다.
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
'username'
: 사용자 이름'host'
: 허용된 접속 IP (예:'localhost'
,'%'
)
예시:
CREATE USER 'devuser'@'localhost' IDENTIFIED BY 'securepass123';
권한 부여 (GRANT)
MySQL에서는 필요한 권한만 최소한으로 부여하는 것이 보안상 바람직합니다.
기본 문법:
GRANT 권한목록 ON 데이터베이스.테이블 TO 'username'@'host';
예시:
GRANT SELECT, INSERT ON mydb.* TO 'devuser'@'localhost';
모든 권한 부여 예시:
GRANT ALL PRIVILEGES ON *.* TO 'adminuser'@'%' WITH GRANT OPTION;
WITH GRANT OPTION
: 다른 사용자에게도 권한 부여 가능
권한 적용 및 확인
변경 사항 적용:
FLUSH PRIVILEGES;
사용자 권한 조회:
SHOW GRANTS FOR 'username'@'host';
사용자 권한 변경 및 삭제
권한 취소 (REVOKE):
REVOKE 권한목록 ON 데이터베이스.테이블 FROM 'username'@'host';
사용자 삭제 (DROP):
DROP USER 'username'@'host';
예시:
DROP USER 'testuser'@'%';
실무 보안 팁
- 불필요한
GRANT ALL
은 지양하고 최소 권한만 부여 - 모든 사용자 비밀번호는 강력한 복잡도로 설정
- 정기적으로
SHOW GRANTS
로 권한 점검 - 데이터베이스 별로 전용 계정 분리 권장
MySQL의 사용자 관리 및 권한 부여는 데이터베이스 보안을 강화하고 운영 효율을 높이는 핵심 관리 요소입니다. 불필요한 권한은 줄이고, 계정과 권한을 정기적으로 점검하는 습관을 들이면 안전한 데이터베이스 운영이 가능합니다.
'개발 > DB' 카테고리의 다른 글
MySQL에서 SQL Injection 방어 방법 (1) | 2025.08.26 |
---|---|
MySQL에서 데이터베이스 보안 강화 방법 (0) | 2025.08.25 |
MySQL에서 데이터베이스 복제와 고가용성 구성하기 (2) | 2025.08.23 |
MySQL에서 데이터 삭제 및 갱신 시 주의사항 (1) | 2025.08.22 |
MySQL에서 데이터를 삽입하고 수정하는 방법 (0) | 2025.08.21 |