Trường hợp tạo connector, Type là source, Database là MySQL
Pre-condition: Status CDC service healthy
MySQL source connector sử dụng binary log của MySQL để thực hiện CDC. Tuy nhiên MySQL được cấu hình để loại bỏ binlogs trong một khoảng thời gian. Vì vậy khi MySQL 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 MySQL 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 MySQL user:
CREATE USER '<USERNAME>'@'%' IDENTIFIED BY '<PASSWORD>';
2. MySQL 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:
for MySQL 5.x
SELECT variable_value as "BINARY LOGGING STATUS (log-bin) ::"
FROM information_schema.global_variables WHERE variable_name='log_bin';
for MySQL 8.x
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 = mysql-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="" ;
Để 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 “-”.
Bước 5: Nhấn Next để chuyển qua màn Properties
Nhập thông tin Database
Trường hợp chọn Manual configuration - Điền các thông tin:
6447
.Chú ý: Database server ID phải là số và phải lớn hơn 1000 và nhỏ hơn 9999.
Trường hợp chọn From Database Engine - Điền các thông tin:
6447
.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:
Chọn các loại mode sau:
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