본문으로 바로가기

 

 

MySQL Workbench를 사용해 서로 다른 계정 간에 RDS 데이터베이스를 복사하는 것은 가능합니다. 가장 일반적인 방법은 데이터 덤프를 생성한 후 이를 다른 계정으로 가져오는 방식입니다. 이번 글에서는 MySQL Workbench의 데이터 내보내기 기능을 이용해 데이터 덤프를 생성하고, 이를 다른 계정으로 복사하는 방법을 알아보겠습니다.

 

1. 데이터 덤프 생성

MySQL Workbench에서 데이터를 내보내는 기능을 사용하여 원본 RDS 데이터베이스의 데이터 덤프를 생성할 수 있습니다.

 

  • MySQL Workbench를 열고 원본 RDS 데이터베이스에 연결합니다.
  • 메뉴에서 Server > Data Export로 이동합니다.

 

 

내보낼 데이터베이스와 테이블을 선택하고, 필요한 설정을 선택한 후 Start Export를 클릭하여 데이터를 덤프 파일로 내보냅니다.

 

 

2. 타겟 RDS로 덤프 파일 임포트

데이터를 내보낸 후, 타겟 RDS 계정에 연결하여 이 덤프 파일을 임포트합니다.

 

  • MySQL Workbench에서 타겟 RDS 데이터베이스에 연결합니다.
  • Server > Data Import로 이동한 후, 내보낸 덤프 파일을 선택하고 임포트 작업을 시작합니다.

 

 

 

이렇게 하면 작업이 모두 완료됩니다. 추가로, RDS 데이터를 복사하는 과정에서 제가 겪었던 몇 가지 에러도 함께 공유드립니다.

 

1. Unknown database

데이터베이스가 없는 RDS에서 작업을 하실 경우, Unknown database '데이터베이스명' 이라는 오류가 발생할 수 있습니다. 이럴 경우 아래 명령어로 데이터베이스를 생성해주시면 됩니다.

CREATE DATABASE 데이터베이스명;

 

2. Access denied

이 외에도, 아래와 같은 권한 오류가 발생할 수 있습니다.

Access denied; you need (at least one of) the SUPER, SYSTEM_VARIABLES_ADMIN or SESSION_VARIABLES_ADMIN privilege(s) for this operation

 

이 경우 다음 명령어를 통해 권한을 상승시켜주시면 됩니다. (저의 경우 관리자 ID가 root입니다.)

GRANT SUPER ON *.* TO 'root'@'%';
GRANT SYSTEM_VARIABLES_ADMIN ON *.* TO 'root'@'%';
GRANT SESSION_VARIABLES_ADMIN ON *.* TO 'root'@'%';
FLUSH PRIVILEGES;