Ich habe meinen Slave so eingestellt, dass er die 'mysql'-Datenbank nicht wie hier beschrieben repliziert SHOW SLAVE STATUS\G;
Slave_IO_State: Waiting for master to send event
Master_Host: 127.0.0.1
Master_User: replication
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: master-bin.000001
Read_Master_Log_Pos: 1660
Relay_Log_File: mysql-relay-bin.000004
Relay_Log_Pos: 478
Relay_Master_Log_File: master-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
**Replicate_Ignore_DB: mysql**
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 1660
Relay_Log_Space: 633
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Wenn ich jetzt zum MASTER- Server gehe und ein GRANT
und ausstelle FLUSH PRIVILEGES
:
GRANT SELECT ON *.* TO `foo`@`localhost` IDENTIFIED BY 'bar';
FLUSH PRIVILEGES;
Ich gehe dann zurück zum SLAVE- Server und stelle Folgendes aus :
SHOW GRANTS FOR `foo`@`localhost`;
und erhalten Sie die Antwort:
+-------------------------------------------------------------------------------------------------------------+
| Grants for foo@localhost |
+-------------------------------------------------------------------------------------------------------------+
| GRANT SELECT ON *.* TO 'foo'@'localhost' IDENTIFIED BY PASSWORD '*E8D46CE25265E545D225A8A6F1BAF642FEBEE5CB' |
+-------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
Wie kann ich verhindern, dass der Slave Änderungen an der MySQL-Datenbank repliziert? Ich dachte, 'replicate_ignore_db' hätte ausgereicht.
quelle
_do_
und_ignore_
Klauseln haben. Es wird schwierig.Das Problem mit Derek Downeys Antwort auf diesen Beitrag ist, dass es immer auf die gleiche Weise funktioniert (ein oder aus).
Wenn Sie sich in einer Situation befinden, in der die meisten Zuschüsse repliziert werden sollen, diese jedoch nicht - oder wenn Sie MySQL nicht abrufen möchten (erforderlich zum Laden der geänderten Datei my.conf), können Sie dies folgendermaßen tun:
Bitte denken Sie daran - dass die Einstellung der letzten Zeile
sql_log_bin = 1
sehr wichtig ist, da Sie ohne sie nichts replizieren werden.quelle