반응형
MySQL에서 특정 사용자(manager@%)에게 최고관리자 권한 부여
MySQL에서 특정 사용자(manager@%)에게 최고관리자 권한(즉, 모든 데이터베이스에 대한 모든 권한)을 부여하려면 GRANT 명령을 사용하시면 됩니다.
✅ 1. root 계정으로 접속
먼저 MySQL 서버에 root(또는 SUPER 권한이 있는 계정)으로 접속합니다.
mysql -u root -p
비밀번호를 입력하고 접속합니다.
✅ 2. 사용자 확인 (선택)
이미 manager@% 사용자가 존재하는지 확인합니다.
SELECT user, host FROM mysql.user WHERE user='manager';
만약 존재하지 않으면 다음 명령으로 생성합니다:
CREATE USER 'manager'@'%' IDENTIFIED BY '비밀번호';
✅ 3. 최고관리자 권한 부여
모든 데이터베이스와 모든 테이블에 대한 모든 권한을 부여합니다.
GRANT ALL PRIVILEGES ON *.* TO 'manager'@'%' WITH GRANT OPTION;
- *.* → 모든 데이터베이스(*)의 모든 테이블(*)
- WITH GRANT OPTION → 다른 사용자에게도 권한을 부여할 수 있는 권한
✅ 4. 권한 적용
변경한 권한을 즉시 적용합니다.
FLUSH PRIVILEGES;

✅ 5. 확인
권한이 정상적으로 적용되었는지 확인합니다.
SHOW GRANTS FOR 'manager'@'%';
출력 예시:
GRANT ALL PRIVILEGES ON *.* TO 'manager'@'%' WITH GRANT OPTION
✅ 6. 보안 주의사항
- '%'는 모든 IP에서 접속을 허용하므로 보안 위험이 있습니다.
가능하면 특정 IP나 도메인으로 제한하세요.
예:
CREATE USER 'manager'@'192.168.0.%' IDENTIFIED BY '비밀번호';
🔒 참고
- 관리자 권한은 시스템 전체를 제어할 수 있으므로,
실제 운영환경에서는 'manager'@'%' 대신 내부망 전용 계정이나 특정 DB 전용 계정을 만들어 제한적으로 사용하는 것이 좋습니다.