Yios

Level up your business with SYNCK.

Cách Chuyển MariaDB Binlog từ Statement sang Row và Những Điều Cần Lưu Ý

10/05/2025 - Tin tức

Khi làm việc với MariaDB, việc cấu hình binary log (binlog) cho sao chép dữ liệu giữa các máy chủ là điều quan trọng. Một trong những yếu tố cần lưu ý là chế độ binlog. Hai chế độ chính là Statement-based Logging (SBL) và Row-based Logging (RBL). Nếu bạn đang sử dụng Statement-based và muốn chuyển sang Row-based, bài viết này sẽ giải thích quy trình thực hiện cũng như những lưu ý quan trọng trước khi thay đổi.

Sự Khác Biệt Giữa Statement-Based và Row-Based Replication

Để hiểu tại sao việc chuyển từ Statement sang Row lại quan trọng, chúng ta cần biết sự khác biệt giữa hai chế độ này.

Statement-Based Logging (SBL):

  • Ghi lại câu lệnh SQL đã thực thi trên master và sao chép qua các slave.
  • Có thể gặp lỗi nếu câu lệnh SQL không thực thi giống nhau trên các máy chủ do sự khác biệt về môi trường hoặc dữ liệu.

Row-Based Logging (RBL):

  • Ghi lại các thay đổi dữ liệu ở cấp độ dòng (row), giúp đảm bảo sao chép chính xác hơn.
  • Đổi lại, yêu cầu dung lượng binlog lớn hơn vì phải lưu trữ tất cả các thay đổi chi tiết của dữ liệu.

Những Điều Cần Lưu Ý Khi Chuyển Từ Statement Sang Row-Based

Đảm Bảo Tính Chính Xác Cao Hơn

Chuyển sang Row-based giúp bạn tránh các vấn đề không đồng nhất trong replication, vì nó chỉ ghi lại các thay đổi thực tế trên dữ liệu, không bị ảnh hưởng bởi câu lệnh SQL hay cấu hình khác nhau giữa các máy chủ.

Tăng Dung Lượng Lưu Trữ

Binlog ở chế độ Row-based sẽ chiếm nhiều dung lượng hơn vì cần phải ghi lại chi tiết các thay đổi ở cấp độ dòng. Bạn cần đảm bảo hệ thống có đủ dung lượng ổ đĩa để lưu trữ binlog lớn hơn.

Hiệu Suất Hệ Thống

Chế độ Row-based có thể ảnh hưởng đến hiệu suất, đặc biệt nếu bạn có lượng dữ liệu lớn cần sao chép, vì quá trình ghi log chi tiết sẽ tốn thêm tài nguyên.

Ảnh Hưởng Đến Ứng Dụng

Nếu hệ thống hoặc ứng dụng của bạn đã được tối ưu cho chế độ Statement-based, chuyển sang Row-based có thể yêu cầu bạn điều chỉnh một số cài đặt hoặc cách thức hoạt động của ứng dụng, đặc biệt là nếu nó phụ thuộc vào câu lệnh SQL.

Hướng Dẫn Cách Chuyển MariaDB Binlog Từ Statement Sang Row

Dưới đây là các bước chi tiết để chuyển chế độ binlog từ Statement sang Row:

Bước 1: Kiểm Tra Cấu Hình Hiện Tại

Đầu tiên, bạn cần xác định chế độ binlog đang sử dụng trên MariaDB:

Leave a Reply