Tất cả tài liệu

FPT Data Platform

    2.5 MariaDB source connector
    2.5 MariaDB source connector
    Updated on 24 Jul 2025

    Tạo connector, Type là source, Database là MariaDB

    Pre-condition: Status CDC service: healthy

    MariaDB Source connector sử dụng binary log của MariaDB để thực hiện CDC. Tuy nhiên MariaDB được cấu hình để loại bỏ binlogs trong một khoảng thời gian. Vì vậy khi MariaDB connector được khởi tạo, connector sẽ sẽ thực hiện một initial consistent snapshot trước khi bắt đầu đọc từ binlogs để đảm bảo dữ liệu được consistent. Supported MariaDB topologies

    • 1. Standalone: phải enable binlogs trước đó.

    • 2. Primary and replica: Hỗ trợ đọc binlogs từ một trong các server (nếu binlog enabled), nhưng connector chỉ detect được các thay đổi trên server đó.

    • 3. High available

    Cấu hình MariaDB

    1. Tạo MariaDB user:

          CREATE USER '<USERNAME>'@'%' IDENTIFIED BY '<PASSWORD>';

    2. MariaDB source connector yêu cầu các permission sau

          SHOW DATABASES: GLOBAL PRIVILEGES
        SELECT: DATABASES PRIVILEGES
          RELOAD: GLOBAL PRIVILEGES
          REPLICATION SLAVE: GLOBAL PRIVILEGES
          REPLICATION CLIENT: GLOBAL PRIVILEGES
    • Thêm quyền trên toàn bộ Database:

        GRANT SELECT, RELOAD, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO '<USERNAME>'@'%';
        FLUSH PRIVILEGES;
    • Hoặc trên database cụ thể:

        GRANT SHOW DATABSASES, RELOAD, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO '<USERNAME>'@'%';
        GRANT SELECT ON <DATABASE-NAME>.* TO '<USERNAME>'@'%';
        FLUSH PRIVILEGES;

    3. Enable binlog: Note: Với dịch vụ của FPTCloud, không cần phải thực hiện các tác vụ này.

    • Kiểm tra binlog đã được enabled chưa:

        SELECT variable_value as "BINARY LOGGING STATUS (log-bin) ::"
        FROM performance_schema.global_variables WHERE                        
        variable_name='log_bin';    
    • Hoặc

        SHOW GLOBAL VARIABLES LIKE "log_bin";
    • Nếu log_bin nhận giá trị OFF, vui lòng thay đổi giá trị này từ configuration file:

        server-id = <CHANGE_ME> #result of query SHOW VARIABLES LIKE "server_id";
        log_bin = MariaDB-bin
        binlog_format               = ROW
        binlog_row_image            = FULL
        binlog_expire_logs_seconds  = 864000
    • Hoặc:

        SET @@global.binlog_format="ROW";
        SET @@global.binlog_row_image="FULL";
        SET @@global.binlog_expire_logs_seconds=864000;

      4. Enable GTIDs:

    Note: Với dịch vụ của FPTCloud, không cần phải thực hiện các tác vụ này.

    • Kiểm tra gtid_mode đã enabled chưa

      SHOW GLOBAL VARIABLES LIKE "gtid_mode";
    • Kiểm tra enforce_gtid_consistency đã enabled chưa

      SHOW GLOBAL VARIABLES LIKE "enforce_gtid_consistency"; 
    • Trong trường hợp các cấu hình gtid_mode và enforce_gtid_consistency đều nhận giá trị OFF, vui lòng thay đổi giá trị này từ configuration file:

      gtid_mode                   = ON
      enforce_gtid_consistency    = ON
      • Hoặc
        SET @@global.gtid_mode="ON";
        SET @@global.enforce_gtid_consistency="ON";

    5. Cấu hình binlog_row_value_options cho phép connector lắng nghe UPDATE events:

    Note: Với dịch vụ của FPTCloud, không cần phải thực hiện các tác vụ này.

    • Kiểm tra giá trị binlog_row_value_options

          SHOW GLOBAL VARIABLES LIKE "binlog_row_value_options";
    • Thay đổi giá trị binlog_row_value_options thành ""

      SET @@global.binlog_row_value_options="" ;

    Các bước tạo connector:

    Để tạo connector, người dùng thực hiện các bước sau:

    Bước 1: Tại thanh menu chọn Data Platform > chọn Workspace Management > chọn Workspace name

    Bước 2: Tại phần My services chọn CDC service

    Bước 3: Tại màn detail CDC service > Chọn tab Connectors > nhấn Create a connector image-1

    Bước 4: Nhập các thông tin màn Connector Information:

    • Name (required): tên connector

    Chú ý: Tên connector có thể chứa các kí tự chữ cái thường a-z hoặc các kí tự số 0-9. Đặc biệt không dùng dấu cách có thể thay dấu cách bằng dấu “-”.

    • Type (required): chọn source

    • Database (required): chọn SQLserver image-2

    Bước 5: Nhấn Next để chuyển qua màn Properties

    Nhập thông tin màn Properties

    • Trường hợp chọn Manual configuration - Điền các thông tin:

      • Host name (required): Hostname hoặc IP của MariaDB

      • Port (required): MariaDB server port, mặc định là: 3306.

      • Database name (required): Database đích mà Connector sẽ sink dữ liệu vào

      • Username (required): Username sử dụng bởi Connector

      • Password (required): Password sử dụng bởi Connector

      • Topics (required): Danh sách các topics Connector sẽ consume và sink dữ liệu vào database đích, và được ngăn cách bởi dấu "," image-3

    • Trường hợp chọn From Database Engine - Điền các thông tin:

      • Database name (required): Tên Database

      • Host name (required): Hostname hoặc IP của MariaDB

      • Port (required): MariaDB server port, mặc định là: 3306.

      • Database name (required): Database đích mà Connector sẽ sink dữ liệu vào

      • Username (required): Username sử dụng bởi Connector

      • Password (required): Password sử dụng bởi Connector

      • Database server ID (required): ID của Database server

      Chú ý: Database server ID phải là số và phải lớn hơn 1000 và nhỏ hơn 9999.

      • Topics (required): Danh sách các topics Connector sẽ consume và sink dữ liệu vào database đích, và được ngăn cách bởi dấu "," image-4

    Nhấn Test connection để kiểm tra kết nối từ Workspace tới Database đã nhập

    Bước 6: Nhấn Next để chuyển qua màn Additional Properties

    Nhập các thông tin sau:

    • Mode (required): Hành vi của Connector

      Chọn các loại mode sau:

      • Initial (default): Connector sẽ snapshot toàn bộ dữ liệu đã tồn tại trong các bảng, sau đó tiếp tục capture data changes trên các bảng này

      • Initial_only: Connector sẽ chỉ snapshot toàn bộ dữ liệu đã tồn tại trong các bảng, sau đó không lắng nghe các sự kiện thay đổi dữ liệu trên bảng

      • Nerver: Connector sẽ không snapshot dữ liệu đã tồn tại trong bảng mà chỉ lắng nghe các sự kiện thay đổi dữ liệu trên bảng

      • Table (optional): tên một table trong database đã kết nối ở màn trước

      • Column (optional): tên một cột dữ liệu muốn lấy ra trong table image-5

    Bước 7: Nhấn Next để chuyển sang màn Review image-6

    Bước 8: Kiểm tra thông tin sau đó nhấn Create để hoàn thành việc tạo connector