MySQL을 실행하는 Amazon RDS DB 인스턴스에 대해 다른 마스터 사용자를 생성하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 8월 20일

Amazon Relational Database Service(Amazon RDS) 또는 Amazon Aurora MySQL DB 인스턴스에 대해 마스터 사용자와 동일한 권한을 가진 다른 사용자를 생성하고 싶습니다. 마스터 사용자의 복제본 또는 클론을 생성하려면 어떻게 해야 합니까?

해결 방법

MySQL을 실행하는 RDS DB 인스턴스에는 마스터 사용자가 한 명만 있을 수 있지만 마스터 사용자와 동일한 권한을 가진 새 사용자를 생성할 수 있습니다. 마스터 권한이 있는 새 사용자를 생성하려면 다음 단계를 따르십시오.

1.    SHOW GRANTS 명령을 실행하여 마스터 사용자가 현재 사용할 수 있는 권한 목록을 가져오고 나중에 사용할 수 있도록 해당 권한 목록을 복사하세요.

mysql> 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 |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

참고: 위의 명령에서 마스터 사용자의 사용자 이름은 master_user입니다.

2.    CREATE USER 명령을 실행하여 새 사용자를 생성하세요.

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

참고: new_master_userpassword를 사용자 이름과 암호로 바꾸세요.

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

mysql> 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;

이제 새 사용자가 마스터 사용자와 동일한 권한을 갖습니다.