본문 바로가기

Database/MySQL

AWS RDS MySQL 마스터 권한 부여하기

Amazon RDS MySQL이나 Aurora MySQL에서 root (마스터) 권한을 부여하는 방법입니다.

초기 구성시 하나의 마스터 사용자 계정을 만들 수 있으며, 추가로 권한이 필요한 계정이 있으면 아래와 같은 절차로 권한을 부여할 수 있습니다.

 

DB 접속해서 SHOW GRANTS으로 현재 마스터 사용자 계정의 권한 목록을 가져옵니다.

SHOW GRANTS for master_username

 

아래와 같은 결과가 출력됩니다.

+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for master_user@% |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, LOAD FROM S3, SELECT INTO S3, INVOKE LAMBDA, INVOKE SAGEMAKER, INVOKE COMPREHEND ON *.* TO 'master_user'@'%' WITH GRANT OPTION |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

 

CREATE USER 명령어로 새 사용자를 생성합니다. * 계정명과 암호를 변경합니다.

CREATE USER 'new_master_user'@'%' IDENTIFIED BY 'password';

 

GRANT 명령을 실행하여 1단계에서 복사해 둔 권한 목록을 새 사용자에게 부여합니다.

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'new_master_user'@'%' WITH GRANT OPTION;

 

 

새 사용자에게 root 권한이 부여됩니다.