---
title: "일반적인 문제"
slug: "dms-troubleshot-common"
tags: ["Database Migration Service", "문제 해결"]
updated: 2026-07-23T09:02:37Z
published: 2026-07-23T09:02:37Z
canonical: "guide-fin.ncloud-docs.com/dms-troubleshot-common"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://guide-fin.ncloud-docs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 일반적인 문제

Database Migration Service를 이용하면서 다음과 같은 문제를 겪을 수 있습니다. 문제별 원인과 해결 방법을 확인하고 적절하게 조치해 주십시오.

## 마이그레이션 오류

Test Connection 및 마이그레이션이 실패하였습니다.

#### 원인

- Source DB에 Database가 없습니다.
- Target DB에 Source DB와 동일한 Database 이름이 존재합니다.
- 마이그레이션에 필요한 권한이 설정되지 않았습니다.
- Source DB에 적용해야 하는 설정이 적용되지 않았습니다.
- MyISAM, BLACKHOLE, FEDERATED, ARCHIVE 엔진은 지원하지 않습니다.
- Source DB와 Target DB의 캐릭터셋이 다릅니다.
- 서비스 중인 클러스터를 Target DB로 지정했습니다.

#### 해결 방법

- Source DB에 최소한 1개 이상의 Database가 있는지 확인해 주십시오.
- 중복된 Database는 삭제해 주십시오.
- Source DB가 GTID 모드인지 확인해 주십시오. 마이그레이션에 필요한 권한 항목은 [마이그레이션을 위해 필요한 최소 권한 항목](/docs/dms-connect#%EB%A7%88%EC%9D%B4%EA%B7%B8%EB%A0%88%EC%9D%B4%EC%85%98%EC%9D%84%EC%9C%84%ED%95%9C%EC%B5%9C%EC%86%8C%EA%B6%8C%ED%95%9C%ED%95%84%EC%9A%94%ED%95%AD%EB%AA%A9)을 참조해 주십시오.
- Source DB에 다음과 같은 설정이 적용되었는지 확인해 주십시오.
  - 바이너리 로그를 활성화하며 `server_id` 값을 지정해 주십시오.
  - `log_bin`의 값이 `ON`으로 표시되는지 확인해 주십시오
  - Source DB 복제에 필요한 사전 준비에 대한 설명은 [사전 준비](/docs/dms-connect#1%EC%82%AC%EC%A0%84%EC%A4%80%EB%B9%841)를 참조해 주십시오.
- 지원하지 않는 MySQL 엔진을 선택한 것은 아닌지 확인해 주십시오. Source DB의 상세 설정에 따른 지원 여부는 [지원 데이터베이스](/docs/dms-spec#%EC%A7%80%EC%9B%90%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4)를 참조해 주십시오.
- 마이그레이션 시 지원하는 캐릭터셋은  utf8, utf8mb4, euckr입니다. 캐릭터셋이 다를 경우, Source DB의 DB 및 Table 캐릭터셋을 변경한 후 마이그레이션을 진행해 주십시오.
- 마이그레이션 진행 시 Target DB는 다시 시작되며 데이터 읽기만 가능합니다. 서비스 중인 클러스터는 Target DB로 지정하지 않도록 주의해 주십시오.

## 마이그레이션 미완료

마이그레이션 실행 단계가 Replication까지 모두 완료됐으나 Cloud DB for MySQL 콘솔에서는 '마이그레이션' 상태로 표시됩니다.

#### 원인

Migration Completed (Replication 완료) 단계인 경우 콘솔에서 **[완료]** 버튼을 클릭해야 최종적으로 DB 서비스 이전이 가능합니다.

#### 해결 방법

'Migration Completed' 상태인지 확인한 후, **[완료]** 버튼을 클릭해 주십시오.

## MariaDB 마이그레이션

MariaDB 마이그레이션 시 호환성 관련 오류 메시지가 나타납니다.

#### 원인

Source DB가 MariaDB인 경우도 마이그레이션이 가능합니다. 단, 지원이 종료된(EOL) MariaDB 버전은 마이그레이션 과정에서 호환성 관련 오류 메시지가 발생할 수 있습니다.

#### 해결 방법

동일한 오류가 계속 발생하는 경우, Target DB를 MySQL 5.7 버전으로 변경해 마이그레이션을 진행하거나 Source DB의 버전을 변경해 주십시오.

## Source DB에 설정된 Definer 계정 마이그레이션 오류

마이그레이션할 때 Source DB에 설정된 Definer 계정이 생성되지 않았습니다.

#### 원인

사용자 계정은 마이그레이션 대상에 포함되지 않습니다.

#### 해결 방법

Definer에 사용된 계정을 Target DB에서 직접 생성해 주십시오. 자세한 내용은 [DB User 관리](/docs/clouddbformysql-dbserver#DBUser%EA%B4%80%EB%A6%AC)를 참조해 주십시오.

## DB Config 설정이 마이그레이션되지 않음

DB Config 설정이 마이그레이션되지 않았습니다.

#### 원인

DB Config 설정에 대한 마이그레이션은 지원하지 않습니다.

#### 해결 방법

사전에 Character Set/Collation 등 Target DB 상에서 Source DB와 동일하게 설정해 주십시오.

## Test Connection 지연

Test Connection 소요 시간이 오래 걸립니다.

#### 원인

Source DB의 스키마 개수가 많으면 수분 가량의 시간이 소요될 수 있습니다. 이는 마이그레이션 정상 진행을 위한 권한 체크, 스키마 점검 등의 과정입니다.

#### 해결 방법

오류 상황이 아니므로 별도로 조치할 사항이 없습니다. 새로 고침 시 점검이 초기화되므로 새로고침하지 않도록 주의해 주십시오.

## "Killed $RESTORECMD" 오류 메시지

Backup 타입: mydumper 사용 시 'Killed $RESTORECMD' 오류 창이 나타납니다.

#### 원인

마이그레이션 대상 테이블의 크기가 클 경우, Thread 제한 개수를 높게 설정할수록 Importing 진행 시 메모리 사용률이 증가하여 OOM Kill / 서버 행 발생 확률이 증가합니다.

#### 해결 방법

마이그레이션을 삭제한 후, Thread 제한값을 낮춰 재시도해 주십시오.

## 권한 오류

- `GRANT REPLICATION SLAVE ON . TO '계정명'@'허용호스트';` 실행 시 오류가 발생합니다. 또한 **[28000][1045] Access denied for user '계정명'@'허용호스트'** 메시지가 나타납니다.
- Replication 단계에서 **Master command COM_REGISTER_SLAVE failed: Access denied for user '계정명'@'허용호스트' (using password: YES) (Errno: 1045)** 오류 메시지가 나타납니다.

#### 원인

- 접속한 계정의 권한에 문제가 있을 경우, 오류가 발생할 수 있습니다.
- 계정에 Replication을 위한 권한이 존재하지 않을 경우, 오류가 발생할 수 있습니다.

#### 해결 방법

접속한 계정의 권한을 확인해 주십시오. 해당 명령어를 실행하려면 작업을 수행하는 계정이 `GRANT REPLICATION SLAVE*.* TO '계정명'@'허용호스트' WITH GRANT OPTION ;` 권한을 보유하고 있어야 합니다. 해당 권한은 DDL 권한으로, 콘솔에서 생성된 계정에 한해서만 부여하고 있습니다.

**REPLICATION 권한 부여**

1. Source DB 상에서 다음 명령어를 입력하여 REPLICATION SLAVE 권한 여부를 확인해주십시오.

```
show grants for '계정명'@'허용호스트';`
```
2. Source DB 의 계정에 REPLICATION SLAVE 권한을 부여해 주십시오.

```
GRANT REPLICATION SLAVE ON *.* TO '계정명'@'허용호스트';`
```

## 일부 데이터베이스 마이그레이션 시 유의사항

일부 데이터베이스만 대상으로 마이그레이션을 진행할 경우, 특정 Cross-Database SQL 연산이 복제되지 않거나 실행 시 오류가 발생할 수 있습니다. 데이터 정합성 문제나 마이그레이션 이후 실행 오류를 방지하기 위해 아래 내용을 참고하여 애플리케이션 로직을 점검해 주십시오.

#### 원인

Cross-DB SQL을 사용하는 경우, 마이그레이션 대상에 포함되지 않은 데이터베이스로 인해 실행 시 오류가 발생할 수 있습니다.

#### 해결 방법

Cross-DB SQL을 사용하는 경우, 관련된 모든 데이터베이스를 마이그레이션 대상에 포함해 주십시오.

1. **테스트 환경**

```
REPLICATE_WILD_IGNORE_TABLE = ('mysql.*', 'non-mig-db.*')
```
  - 마이그레이션 대상 DB: mig-db
  - 마이그레이션 제외 DB: non-mig-db
  - 복제 필터 예시는 다음과 같습니다.
2. **복제 동작 기준** SQL 유형에 따라 복제 여부가 달라지므로, 아래 기준을 참고해 주십시오.

| 구분 | 복제 여부 결정 기준 | 설명 |
| --- | --- | --- |
| DML (INSERT/UPDATE/DELETE) | 대상 테이블(DB) 기준 | 대상 테이블이 복제 대상 DB에 포함되면 복제됨 |
| DDL (CREATE/ALTER/DROP) | 대상 객체(DB) 기준 | 생성/수정/삭제되는 객체가 복제 대상 DB에 포함되면 복제됨 |
| 프로시저/함수/뷰 | 정의 위치(DB) 기준 | 복제 대상 DB에 정의된 경우 복제됨 |
| Cross-DB 연산 | 실행 시 오류 발생 가능 | 복제는 되지만 제외 DB가 없으면 실행 오류 발생 가능 |
3. **주요 사례**

          참고

          

**복제되지 않음**은 복제 오류가 아닌, 복제 대상 DB에서 제외된 경우입니다.

3.1. **DML (데이터 조작)**

| SQL 예시 | 복제 여부 |
| --- | --- |
| USE mig-db; INSERT INTO non-mig-db.table | 복제되지 않음 |
| USE non-mig-db; INSERT INTO mig-db.table | 복제됨 |
| USE mig-db; DELETE FROM mig-db.orders JOIN non-mig-db.table | 일부 실패 가능 (non-mig-db 접근 오류) |

          주의

          

- 제외 DB를 대상으로 하거나 조인에 포함할 경우 복제 누락 또는 실행 오류가 발생할 수 있습니다.
- Cross-DB DML 연산은 가급적 지양해 주십시오.

3.2. **DDL (테이블 생성/수정/삭제)**

| SQL 예시 | 복제 여부 |
| --- | --- |
| USE mig-db; CREATE/ALTER/DROP TABLE non-mig-db.table | 복제되지 않음 |
| USE non-mig-db; CREATE/ALTER/DROP TABLE mig-db.table | 복제됨 |

3.3. **View**

| SQL 예시 | 복제 여부 (mysqldump) | 복제 여부 (mydumper) | 실행 시 |
| --- | --- | --- | --- |
| USE mig-db; CREATE VIEW ... JOIN non-mig-db.table | 복제됨 | 마이그레이션되지 않음 | 제외 DB가 없으면 오류 발생 |
| USE non-mig-db; CREATE VIEW ... | 복제되지 않음 | 마이그레이션되지 않음 | - |

          주의

          

- View 정의에 제외 DB를 참조하면 실행 오류가 발생할 수 있습니다.
- View는 단일 DB 기준으로 작성하는 것을 권장합니다.
- 백업 방식에 따라 View의 마이그레이션 포함 여부가 달라집니다
  - 백업 방식 **mysqldump** 사용 시: View 마이그레이션 대상에 포함
  - 백업 방식 **mydumper** 사용 시: View 마이그레이션 대상에 포함되지 않음

3.4. **Stored Procedure / Function / Trigger**

| SQL 예시 | 복제 여부 | 실행 시 |
| --- | --- | --- |
| mig-db.CrossDbDataSync() 내부에서 INSERT INTO non-mig-db.table | 복제됨 | 실행 시 오류 발생 가능 |
| non-mig-db.LogUserActivity() | 복제되지 않음 | - |
| USE mig-db; CREATE TRIGGER ... INSERT INTO non-mig-db.table | 복제됨 | 실행 시 오류 발생 가능 |

          참고

          

- 복제 여부는 실행 환경 DB(USE)가 아닌, 실제 연산 대상 DB 기준으로 결정됩니다.
- Cross-DB 연산은 가급적 지양해 주십시오.
  - 제외 DB를 대상으로 하거나 조인에 포함할 경우, 실행 오류가 발생할 수 있습니다.
  - Cross-DB SQL이 포함된 경우, 관련된 모든 DB를 마이그레이션 대상에 포함해 주십시오.
- Procedure, Function, Trigger, View 정의 시 단일 DB 기준으로 작성하고, 제외 DB를 참조하지 않도록 해주십시오.
- 마이그레이션 전 애플리케이션 로직을 사전 테스트하여 실행 오류를 예방해 주십시오.

          주의

          

- 정의 자체는 복제되지만, 실행 시 제외 DB 접근으로 오류가 발생할 수 있습니다.
- 모든 객체는 단일 DB 기준으로 작성하는 것을 권장합니다.

          참고

          

이 가이드에서 필요한 정보를 찾지 못했거나 추가로 필요한 정보가 있으신 경우, 언제든지 아래의 피드백 아이콘을 클릭하여 의견을 보내 주십시오. 전달해 주신 의견을 참고하여 더 유용한 정보를 제공하겠습니다.
