Sự khác biệt giữa sao chép dựa trên hàng và dựa trên câu lệnh trong MySQL?


12

Sự khác biệt thực tế giữa sao chép dựa trên hàng và dựa trên câu lệnh là gì. Tôi thực sự đang tìm kiếm về mặt hiệu ứng sao chép trên nô lệ.

Nếu tôi đang sử dụng sao chép dựa trên hàng thì hiệu ứng trên nô lệ là gì và nếu tôi đang sử dụng dựa trên câu lệnh thì hiệu ứng là gì?

Vui lòng xem xét các tham số sau:

   replicate-ignore-db  and replicate-do-db 

Cảm ơn....!

Câu trả lời:


15

Bản sao dựa trên câu lệnh (SBR) sẽ sao chép các câu lệnh SQL. Nó dễ đọc hơn khi sử dụng chương trình kết xuất mysqlbinlog.

Sao chép dựa trên hàng (RBR) sẽ sao chép các thay đổi dữ liệu thực tế. Nhật ký nhị phân và nhật ký chuyển tiếp sẽ phát triển nhanh hơn nhiều so với SBR. Bạn cũng không thể xác định SQL đã tạo ra các thay đổi.
(Vui lòng đọc thông tin cập nhật cho MySQL 5.6.2. Bên dưới)

Dưới đây là danh sách ưu và nhược điểm toàn diện hơn: http://www.databasejournal.com/features/mysql/article.php/3922266/Compared-MyQuery-Statement-Basing-and-Row-Basing-Replication.htm

MySQL sẽ cho phép cả hai loại định dạng câu lệnh / hàng trong nhật ký nhị phân của nó. Tôi đề nghị TUYÊN BỐ dựa trên. Định dạng nhật ký nhị phân mặc định là MIXED là OK.

Vì bạn đang sử dụng replicate-ignore-dbreplicate-do-db, tôi sẽ tin tưởng Sao chép dựa trên Tuyên bố.


Cập nhật cho MySQL 5.6.2:

Được giới thiệu trong MySQL 5.6.2, binlog_rows_query_log_eventsbiến hệ thống khiến máy chủ MySQL 5.6.2 trở lên ghi các sự kiện nhật ký thông tin như các sự kiện nhật ký truy vấn hàng vào nhật ký nhị phân của nó. Vì vậy, chúng ta có thể xác định SQL đã tạo ra các thay đổi.

Tham khảo: 17.1.4.4 Tùy chọn và biến nhật ký nhị phân


Chế độ sao chép mặc định SBR hoặc RBR là gì ... ??
Abdul Manaf

1
SBR - Tuyên bố
RolandoMySQLDBA

3
Chế độ mặc định là MIXED kể từ 5.1.8, sử dụng sao chép chủ yếu dựa trên câu lệnh, nhưng tự động chuyển sang RBR khi các truy vấn không an toàn với SBR được thực thi. dev.mysql.com/doc/refman/5.1/en/replication-formats.html
Aaron Brown

9

Trong MySQL 5.5, định dạng dựa trên câu lệnh là mặc định. Nhưng tốt hơn là sử dụng định dạng hỗn hợp. Bởi vì trong trường hợp đó, ghi nhật ký dựa trên câu lệnh được sử dụng theo mặc định, nhưng tự động chuyển sang ghi nhật ký theo hàng trong các trường hợp cần thiết.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.