Perbedaan antara replikasi berbasis baris dan pernyataan dalam MySQL?

12

Apa perbedaan aktual antara replikasi berbasis baris dan pernyataan. Saya sebenarnya mencari dalam hal efek replikasi pada budak.

Jika saya menggunakan replikasi berbasis baris maka apa efeknya pada budak dan jika saya menggunakan berbasis pernyataan maka apa efeknya?

Harap juga mempertimbangkan parameter berikut:

   replicate-ignore-db  and replicate-do-db 

Terima kasih....!

Abdul Manaf
sumber

Jawaban:

15

Replikasi Berbasis Pernyataan (SBR) akan mereplikasi Pernyataan SQL. Lebih mudah dibaca menggunakan program dump mysqlbinlog.

Replikasi berbasis baris (RBR) akan mereplikasi perubahan data aktual. Log biner dan log relai akan tumbuh jauh lebih cepat daripada SBR. Anda juga tidak dapat mengidentifikasi SQL yang menghasilkan perubahan.
(Harap baca informasi terbaru untuk MySQL 5.6.2. Di bawah)

Berikut ini adalah daftar pro dan kontra yang lebih komprehensif: http://www.databasejournal.com/features/mysql/article.php/3922266/Comparing-MySQL-Statement-Based-and-Bow-Based-Replication.htm

MySQL akan mengizinkan kedua jenis format pernyataan / baris dalam log binernya. Saya merekomendasikan PERNYATAAN berdasarkan. Format log biner default adalah CAMPURAN yang OK.

Karena Anda menggunakan replicate-ignore-dbdan replicate-do-db, saya akan mempercayai Replikasi Berbasis Pernyataan.


Pembaruan untuk MySQL 5.6.2:

Diperkenalkan di MySQL 5.6.2 binlog_rows_query_log_eventsvariabel sistem menyebabkan server MySQL 5.6.2 atau lebih baru untuk menulis peristiwa log informasi seperti peristiwa kueri baris log ke log binernya. Jadi kita bisa mengidentifikasi SQL yang menghasilkan perubahan.

Referensi: 17.1.4.4 Opsi dan Variabel Log Biner

RolandoMySQLDBA
sumber
apa mode standar replikasi SBR atau RBR ... ??
Abdul Manaf
1
SBR - Pernyataan
RolandoMySQLDBA
3
Mode default adalah CAMPURAN sejak 5.1.8, yang menggunakan replikasi berbasis pernyataan utama, tetapi secara otomatis beralih ke RBR ketika kueri yang tidak aman dengan SBR dieksekusi. dev.mysql.com/doc/refman/5.1/en/replication-formats.html
Aaron Brown
9

Di MySQL 5.5, format berbasis pernyataan adalah default. Tetapi lebih baik menggunakan format campuran. Karena dalam kasus itu, logging berbasis pernyataan digunakan secara default, tetapi secara otomatis beralih ke logging berbasis baris jika diperlukan.

shantanuo
sumber