HTML5

MySQL에서 특정 사용자(manager@%)에게 최고관리자 권한 부여

forSilver 2025. 10. 28. 11:58
반응형

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 전용 계정을 만들어 제한적으로 사용하는 것이 좋습니다.