MySQL에 대한 마이그레이션 전제 조건 구성
MySQL 소스 데이터베이스에서 동기화 작업을 실행하려면 데이터베이스에서 몇 가지 구성 변경이 필요할 수 있습니다. Relational Migrator가 데이터베이스 구성 변경이 필요하다고 판단하면 필요한 변경 사항이 포함된 SQL 스크립트를 자동으로 생성합니다. 데이터베이스 관리자(DBA)에게 이 스크립트의 명령을 검토하고 데이터베이스 서버에서 실행을 수행하도록 하는 것이 좋습니다. MySQL 서버 구성은 동기화 작업 유형에 따라 다릅니다.
스냅샷 동기화 작업은 모든 데이터를 마이그레이션한 다음 중지됩니다.
연속 동기화 작업은 스냅샷을 실행한 다음 CDC 단계로 들어가 데이터 변경 사항을 지속적으로 복제합니다.
지원되는 MySQL 버전에 대한 자세한 내용은 지원되는 데이터베이스 및 버전을 참조하세요.
단계
(선택 사항) 사용자 권한 설정
다음 코드는 Relational Migrator가 MySQL 인스턴스에 연결할 수 있도록 새 MySQL 서비스 계정을 생성합니다. 또는 기존 MySQL 서비스 계정을 사용하여 적절한 권한으로 Relational Migrator에 연결할 수 있습니다.
서비스 계정을 만듭니다:
CREATE USER 'user'@'localhost' IDENTIFIED BY 'password'; 서비스 계정에 필요한 권한을 부여합니다.
GRANT SELECT, RELOAD, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'user'@'%'; 사용자 권한 변경 사항을 적용합니다:
FLUSH PRIVILEGES;
Relational Migrator 에서 연속 작업을 실행하려면 바이너리 로그 가 필요합니다. MySQL 인스턴스 에서 활성화합니다. 바이너리 로그 (Binlog)는 데이터베이스 에 커밋된 순서대로 모든 작업을 기록합니다.
(선택 사항) 사용자 권한 설정
다음 코드는 Relational Migrator가 MySQL 인스턴스에 연결할 수 있도록 새 MySQL 서비스 계정을 생성합니다. 또는 기존 MySQL 서비스 계정을 사용하여 적절한 권한으로 Relational Migrator에 연결할 수 있습니다.
서비스 계정을 만듭니다:
CREATE USER 'user'@'localhost' IDENTIFIED BY 'password'; 서비스 계정에 필요한 권한을 부여합니다.
GRANT SELECT, RELOAD, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'user'@'%'; 사용자 권한 변경 사항을 적용합니다:
FLUSH PRIVILEGES;
(선택 사항) Binlog가 활성화되어 있는지 수동으로 확인
Relational Migrator 는 이 설정을 자동으로 확인합니다. Binlog
옵션이 활성화되어 있는지 수동으로 확인하려면 사용 중인 MySQL 버전에 맞는 아래 쿼리를 사용합니다.
참고
Binlog
MySQL 8.x
버전에서는 기본값 으로 자동으로 활성화됩니다.
SELECT variable_value as "BINARY LOGGING STATUS (log-bin) ::" FROM performance_schema.global_variables WHERE variable_name='log_bin';
SELECT variable_value as "BINARY LOGGING STATUS (log-bin) ::" FROM information_schema.global_variables WHERE variable_name='log_bin';
MySQL 구성 파일 찾기 및 업데이트
다음 SQL 쿼리 를 실행하여 MySQL 인스턴스 의
server_id
값을 가져옵니다.SELECT variable_value FROM performance_schema.global_variables WHERE variable_name='server_id'; SELECT variable_value FROM information_schema.global_variables WHERE variable_name='server_id'; 터미널에서 다음
mysqld
명령을 실행 하여 MySQL 인스턴스 의 구성 파일 을 찾습니다.mysql --help | findstr cnf mysql --help | grep cnf MySQL 구성 파일 의
[mysqld]
섹션 아래에 다음 줄을 추가합니다.XXXXX
값을 이전 쿼리 의server_id
로 바꿉니다.server-id = XXXXX log_bin = mysql-bin binlog_format = ROW binlog_row_image = FULL binlog_expire_logs_seconds = 864000 server-id = XXXXX log_bin = mysql-bin binlog_format = ROW binlog_row_image = FULL expire_log_days = 10 참고
MySQL Amazon Web Services RDS 및 자동 백업 에서 을 실행 경우 활성화되지 않은 경우
Binlog
는 구성 파일 에 값이 설정하다 되어 있더라도 비활성화됩니다.
자세히 알아보기
Relational Migrator 는 오픈 소스 Debezium connector 를 사용하여 행 수준 변경 사항을 캡처합니다. 자세한 내용은 Debezium MySQL 을 참조하세요.