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
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
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="" ;
Để 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
Bước 4: Nhập các thông tin màn Connector Information:
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
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 ","
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.
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
Bước 7: Nhấn Next để chuyển sang màn Review
Bước 8: Kiểm tra thông tin sau đó nhấn Create để hoàn thành việc tạo connector