Differenza tra replica basata su righe e basata su istruzioni in MySQL?


12

Qual è la differenza effettiva tra la replica basata su righe e basata su istruzioni. In realtà sto guardando in termini di effetto di replica sullo schiavo.

Se sto usando la replica basata su righe allora qual è l'effetto sullo slave e se sto usando un'istruzione basata su istruzioni, allora qual è l'effetto?

Si prega di prendere in considerazione anche i seguenti parametri:

   replicate-ignore-db  and replicate-do-db 

Grazie....!

Risposte:


15

Replica basata su istruzioni (SBR) replicherà le istruzioni SQL. È più facile da leggere usando il programma di dump mysqlbinlog.

La replica basata su righe (RBR) replicherà le effettive modifiche ai dati. I registri binari e i registri di inoltro cresceranno molto più velocemente di SBR. Inoltre, non è possibile identificare l'SQL che ha generato le modifiche.
(Leggere le informazioni aggiornate per MySQL 5.6.2. Di seguito)

Ecco un elenco di pro e contro più completo: http://www.databasejournal.com/features/mysql/article.php/3922266/Comparing-MySQL-Statement-Based-and-Row-Based-Replication.htm

MySQL consentirà entrambi i tipi di formati istruzione / riga nei suoi registri binari. Raccomando basato su STATEMENT. Il formato di registro binario predefinito è MISTO, il che è OK.

Dal momento che stai utilizzando replicate-ignore-dbe replicate-do-db, mi fiderei della replica basata su dichiarazioni.


Aggiornamento per MySQL 5.6.2:

Introdotta in MySQL 5.6.2, la binlog_rows_query_log_eventsvariabile di sistema fa sì che un server MySQL 5.6.2 o successivo scriva eventi di registro informativi come eventi di registro delle query di riga nel proprio registro binario. Quindi possiamo identificare l'SQL che ha generato le modifiche.

Riferimento: 17.1.4.4 Opzioni e variabili del registro binario


qual è la modalità predefinita di replica SBR o RBR ... ??
Abdul Manaf,

1
SBR - Dichiarazione
RolandoMySQLDBA

3
La modalità predefinita è MIXED dalla 5.1.8, che utilizza principalmente la replica basata su istruzioni, ma passa automaticamente a RBR quando vengono eseguite query non sicure con SBR. dev.mysql.com/doc/refman/5.1/en/replication-formats.html
Aaron Brown il

9

In MySQL 5.5, il formato basato su istruzioni è l'impostazione predefinita. Ma è meglio usare il formato misto. Perché in tal caso, la registrazione basata su istruzioni viene utilizzata per impostazione predefinita, ma passa automaticamente alla registrazione basata su righe nei casi ove richiesto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.