--- title: "일반적인 문제" slug: "dms-troubleshoot-common" updated: 2026-10-26T07:39:13Z published: 2026-10-26T07:39:13Z canonical: "guide-gov.ncloud-docs.com/dms-troubleshoot-common" --- > ## Documentation Index > Fetch the complete documentation index at: https://guide-gov.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # 일반적인 문제 VPC 환경에서 이용 가능합니다. Database Migration Service를 이용하면서 다음과 같은 문제를 겪을 수 있습니다. 문제별 원인과 해결 방법을 확인하고 적절하게 조치해 주십시오. ## 마이그레이션 오류 Test Connection 및 마이그레이션이 실패하였습니다. #### 원인 - Source DB에 Database가 없습니다. - Target DB에 Source DB와 동일한 Database 이름이 존재합니다. - 마이그레이션에 필요한 권한이 설정되지 않았습니다. - Source DB에 적용해야 하는 설정이 적용되지 않았습니다. - MyISAM, BLACKHOLE, FEDERATED, ARCHIVE, MEMORY 엔진은 지원하지 않습니다. - 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/database-database-5-2#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을 위한 권한이 존재하지 않을 경우, 오류가 발생할 수 있습니다. - 마이그레이션 계정에 필요한 권한 중 일부가 부여되지 않았습니다. 백업 방식(mysqldump, mydumper)과 Target DB 버전, GTID 모드 여부에 따라 필요한 권한 구성이 다릅니다. (오류 코드 1044, 1142, 1227) #### 해결 방법 접속한 계정의 권한을 확인해 주십시오. 해당 명령어를 실행하려면 작업을 수행하는 계정이 `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 '계정명'@'허용호스트'; ``` **마이그레이션 권한 확인** 백업 방식과 버전에 맞는 권한 전체가 부여되어 있는지 확인해 주십시오. 자세한 내용은 [마이그레이션을 위해 필요한 최소 권한 항목](/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)을 참조해 주십시오. ## 일부 데이터베이스 마이그레이션 시 유의사항 일부 데이터베이스만 대상으로 마이그레이션을 진행할 경우, 특정 Cross-Database SQL 연산이 복제되지 않거나 실행 시 오류가 발생할 수 있습니다. 데이터 정합성 문제나 마이그레이션 이후 실행 오류를 방지하기 위해 아래 내용을 참고하여 애플리케이션 로직을 점검해 주십시오. #### 원인 - Cross-DB SQL을 사용하는 경우, 마이그레이션 대상에 포함되지 않은 데이터베이스로 인해 실행 시 오류가 발생할 수 있습니다. #### 해결 방법 - Cross-DB SQL을 사용하는 경우, 관련된 모든 데이터베이스를 마이그레이션 대상에 포함해 주십시오. 1. 테스트 환경 - 마이그레이션 대상 DB: mig-db - 마이그레이션 제외 DB: non-mig-db - 복제 필터 예시는 다음과 같습니다. ``` REPLICATE_WILD_IGNORE_TABLE = ('mysql.*', 'non-mig-db.*') ``` 1. 복제 동작 기준 SQL 유형에 따라 복제 여부가 달라지므로, 아래 기준을 참고해 주십시오. | 구분 | 복제 여부 결정 기준 | 설명 | | --- | --- | --- | | DML (INSERT/UPDATE/DELETE) | 대상 테이블(DB) 기준 | 대상 테이블이 복제 대상 DB에 포함되면 복제됨 | | DDL (CREATE/ALTER/DROP) | 대상 객체(DB) 기준 | 생성/수정/삭제되는 객체가 복제 대상 DB에 포함되면 복제됨 | | 프로시저/함수/뷰 | 정의 위치(DB) 기준 | 복제 대상 DB에 정의된 경우 복제됨 | | Cross-DB 연산 | 실행 시 오류 발생 가능 | 복제는 되지만 제외 DB가 없으면 실행 오류 발생 가능 | 1. 주요 사례 참고 **복제되지 않음**은 복제 오류가 아닌, 복제 대상 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 접근으로 오류가 발생할 수 있습니다. - 모든 객체는 단일 DB 기준으로 작성하는 것을 권장합니다. 참고 - 복제 여부는 실행 환경 DB(USE)가 아닌, 실제 연산 대상 DB 기준으로 결정됩니다. - Cross-DB 연산은 가급적 지양해 주십시오. - 제외 DB를 대상으로 하거나 조인에 포함할 경우, 실행 오류가 발생할 수 있습니다. - Cross-DB SQL이 포함된 경우, 관련된 모든 DB를 마이그레이션 대상에 포함해 주십시오. - Procedure, Function, Trigger, View 정의 시 단일 DB 기준으로 작성하고, 제외 DB를 참조하지 않도록 해 주십시오. - 마이그레이션 전 애플리케이션 로직을 사전 테스트하여 실행 오류를 예방해 주십시오.