다음을 통해 공유


Eventstream에 MySQL 데이터베이스 CDC 원본 추가(미리 보기)

참고 항목

이 문서에는 Microsoft에서 더 이상 사용하지 않는 용어인 SLAVE에 대한 참조가 포함되어 있습니다. 소프트웨어에서 용어가 제거되면 이 문서에서 해당 용어가 제거됩니다.

이 문서에서는 Azure Database for MySQL 변경 데이터 캡처 원본을 이벤트 스트림에 추가하는 방법을 보여 줍니다. Microsoft Fabric 이벤트 스트림용 Azure MySQL CDC(데이터베이스 변경 데이터 캡처) 원본 커넥터를 사용하면 Azure Database for MySQL 데이터베이스에서 현재 데이터의 스냅샷을 캡처할 수 있습니다.

모니터링할 테이블을 지정할 수 있으며 Eventstream은 테이블에 대한 향후 행 수준 변경 내용을 기록합니다. 변경 내용이 이벤트 스트림에서 캡처되면 이 CDC 데이터를 실시간으로 처리하고 추가 처리 또는 분석을 위해 Fabric의 다른 대상으로 보낼 수 있습니다.

Important

패브릭 이벤트 스트림의 향상된 기능은 현재 미리 보기로 제공됩니다.

참고 항목

이 원본은 작업 영역 용량 의 다음 지역에서 지원되지 않습니다. 미국 서부 3, 스위스 서부.

필수 조건

  • 기여자 이상의 권한이 있는 Fabric 프리미엄 작업 영역에 액세스합니다.
  • Azure Database for MySQL - 유연한 서버의 인스턴스에 액세스합니다.
  • MySQL 데이터베이스는 공개적으로 액세스할 수 있어야 하며 방화벽 뒤에 있거나 가상 네트워크에서 보호되지 않아야 합니다.

참고 항목

하나의 Eventstream에 대한 최대 원본 및 대상 수는 11개입니다.

MySQL DB 설정

커넥터는 Debezium MySQL 커넥터를 사용하여 Azure Database for MySQL 데이터베이스의 변경 내용을 캡처합니다. 메시징 커넥터가 변경 내용을 캡처할 수 있는 모든 데이터베이스에서 적절한 권한을 가진 MySQL 사용자를 정의해야 합니다. 관리자 사용자를 직접 사용하여 일반적으로 아래와 같이 적절한 권한이 있는 데이터베이스에 연결할 수 있습니다. 또는 아래 단계에 따라 새 사용자를 만들 수 있습니다.

참고 항목

새 사용자 또는 관리자 계정 및 해당 암호는 나중에 Eventstream 내의 데이터베이스에 연결하는 데 사용됩니다.

  1. 명령 프롬프트에서 mysql MySQL 사용자를 만듭니다.

    mysql> CREATE USER 'user'@'%' IDENTIFIED BY 'password';
    
  2. 사용자에게 필요한 권한을 부여합니다.

    mysql> GRANT SELECT, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'user'@'%';
    
  3. 사용자의 사용 권한을 완료합니다.

    mysql> FLUSH PRIVILEGES;
    

사용자 또는 관리자에게 필요한 권한이 부여되었는지 확인하려면 아래 명령을 실행한 다음 위의 2단계에서 필요한 권한을 표시해야 합니다.

SHOW GRANTS FOR user;

사용자에게 필요한 권한을 부여하는 방법에 대한 자세한 내용은 MySQL:: Debezium 설명서에 대한 Debezium 커넥터를 참조 하세요.

binlog 사용

MySQL 복제에 대해 이진 로깅을 사용하도록 설정해야 합니다. 이진 로그는 변경 내용을 전파하는 복제 도구에 대한 트랜잭션 업데이트를 기록합니다.

  1. Azure Database for MySQL 계정의 Azure Portal 페이지에서 왼쪽 탐색 창의 설정 아래에서 서버 매개 변수를 선택합니다.

  2. 서버 매개 변수 페이지에서 다음 속성을 구성한 다음 저장을 선택합니다.

    • binlog_row_image 전체 키를 선택합니다.

    • binlog_expire_logs_seconds진 로그 파일이 제거되기 전에 서비스에서 대기하는 시간(초)을 설정합니다. 환경의 요구 사항에 맞게 값을 설정합니다(예 : 86400).

    서버 매개 변수 아래의 복제에 대한 binlog 설정의 스크린샷.

Azure MySQL DB(CDC)를 원본으로 추가

  1. 패브릭 실시간 인텔리전스에서 Eventstream을 선택하여 새 이벤트 스트림을 만듭니다. 향상된 기능(미리 보기) 옵션이 사용하도록 설정되어 있는지 확인합니다.

    새 이벤트 스트림을 만드는 스크린샷.

  2. 다음 화면에서 외부 원본 추가를 선택합니다.

    외부 원본 추가를 선택하는 스크린샷.

Azure MySQL DB(CDC) 구성 및 연결

  1. 데이터 원본 선택 화면에서 데이터 원본으로 Azure MySQL DB(CDC)를 선택합니다.

    Azure MySQL DB(CDC)를 선택하는 스크린샷.

  2. 연결 화면의 연결에서 새 연결을 선택하여 클라우드 연결을 만듭니다.

  3. Azure MySQL DB에 대해 다음 연결 설정연결 자격 증명을 입력한 다음, 연결을 선택합니다.

    • 서버: Azure Database for MySQL 데이터베이스의 서버 주소(예 : my-mysql-server.mysql.database.azure.com).
    • 데이터베이스: 데이터베이스 이름(예: my_database)입니다.
    • 연결 이름: 자동으로 생성되거나 이 연결의 새 이름을 입력할 수 있습니다.
    • 사용자 이름암호: Azure Database for MySQL 데이터베이스에 대한 자격 증명을 입력합니다. 서버 관리자 계정 또는 필요한 권한이 부여된 사용자 계정을 입력해야 합니다.

    Azure MySQL DB(CDC)에 대한 연결 설정의 스크린샷.

  4. 다음 정보를 입력하여 Azure MySQL DB CDC 데이터 원본을 구성한 다음, 다음을 선택합니다.

    • 테이블: 쉼표로 구분된 테이블 이름 목록을 입력합니다. 각 테이블 이름은 형식(예: my_database.users)을 따라<database name>.<table name>야 합니다.
    • 서버 ID: MySQL 클러스터의 각 서버 및 복제 클라이언트에 대한 고유 값을 입력합니다. 기본값은 1000입니다.
    • 포트: 기본값은 변경되지 않은 상태로 둡니다.

    Azure MySQL DB(CDC) 연결에 대한 테이블, 서버 ID 및 포트를 선택하는 스크린샷.

    참고 항목

    각 판독기마다 다른 서버 ID를 설정합니다. binlog를 읽기 위한 모든 MySQL 데이터베이스 클라이언트에는 서버 ID라는 고유 ID가 있어야 합니다. MySQL 서버는 이 ID를 사용하여 네트워크 연결 및 binlog 위치를 유지 관리합니다. 동일한 서버 ID를 공유하는 다른 작업으로 인해 잘못된 binlog 위치에서 읽을 수 있습니다. 따라서 각 판독기마다 다른 서버 ID를 설정하는 것이 좋습니다.

  5. Azure MySQL DB CDC 원본에 대한 요약을 검토한 후 추가를 선택하여 구성을 완료합니다.

편집 모드에서 이벤트 스트림에 추가된 Azure MySQL DB(CDC) 원본이 표시됩니다.

게시 단추가 강조 표시된 편집 모드에서 추가된 Azure MySQL DB CDC 원본의 스크린샷

게시를 선택하여 변경 내용을 게시하고 Azure MySQL DB CDC 데이터를 eventstream에 스트리밍하기 시작합니다.

라이브 보기에서 Azure MySQL DB CDC 원본이 있는 게시된 이벤트 스트림의 스크린샷.

기타 커넥터: