MySQL Replication: Eine Einführung Erkan Yanar linsenraum.de 27. Februar 2013 Erkan Yanar (linsenraum.de) MySQL Replication: Eine Einführung 27. Februar 2013 1 / 21
Replikation Was ist Replikation? Die Synchronisation der Daten zwischen Servern. Erkan Yanar (linsenraum.de) MySQL Replication: Eine Einführung 27. Februar 2013 2 / 21
Replikation Was ist Replikation? Die Synchronisation der Daten zwischen Servern. Frühes Feature von MySQL Erkan Yanar (linsenraum.de) MySQL Replication: Eine Einführung 27. Februar 2013 2 / 21
Replikation Was ist Replikation? Die Synchronisation der Daten zwischen Servern. Wofür wird Replikation genutzt? Erkan Yanar (linsenraum.de) MySQL Replication: Eine Einführung 27. Februar 2013 2 / 21
Replikation Architekturen ScaleOut Erkan Yanar (linsenraum.de) MySQL Replication: Eine Einführung 27. Februar 2013 3 / 21
Replikation Architekturen Massive ScaleOut Erkan Yanar (linsenraum.de) MySQL Replication: Eine Einführung 27. Februar 2013 4 / 21
Replikation Architekturen Backup Erkan Yanar (linsenraum.de) MySQL Replication: Eine Einführung 27. Februar 2013 5 / 21
Replikation Architekturen Testing Upgrades: Attaching newer Slaves to older Master Erkan Yanar (linsenraum.de) MySQL Replication: Eine Einführung 27. Februar 2013 6 / 21
Replikation Architekturen HA/Failover Erkan Yanar (linsenraum.de) MySQL Replication: Eine Einführung 27. Februar 2013 7 / 21
Replikation Architekturen Additional Datawarehousing Erkan Yanar (linsenraum.de) MySQL Replication: Eine Einführung 27. Februar 2013 8 / 21
Replikation Architekturen PITR Erkan Yanar (linsenraum.de) MySQL Replication: Eine Einführung 27. Februar 2013 9 / 21
Replikation Architekturen PITR Erkan Yanar (linsenraum.de) MySQL Replication: Eine Einführung 27. Februar 2013 9 / 21
Replikation Architekturen PITR Erkan Yanar (linsenraum.de) MySQL Replication: Eine Einführung 27. Februar 2013 9 / 21
Replikation Architekturen Threads Erkan Yanar (linsenraum.de) MySQL Replication: Eine Einführung 27. Februar 2013 10 / 21
Wie macht das MySQL Binlog aktivieren Master Side log bin server id Erkan Yanar (linsenraum.de) MySQL Replication: Eine Einführung 27. Februar 2013 11 / 21
Wie macht das MySQL Binlog aktivieren Slave Side log bin server id Erkan Yanar (linsenraum.de) MySQL Replication: Eine Einführung 27. Februar 2013 11 / 21
Wie macht das MySQL Binlog aktivieren log bin server id GRANT REPLICATION SLAVE ON *.* TO repl@ host IDENTIFIED BY jjiaef Erkan Yanar (linsenraum.de) MySQL Replication: Eine Einführung 27. Februar 2013 11 / 21
Wie macht das MySQL Binlog aktivieren Zeigen: Replikation aufbauen SHOW SLAVE STATUS Erkan Yanar (linsenraum.de) MySQL Replication: Eine Einführung 27. Februar 2013 12 / 21
Wie macht das MySQL binlog-formatstatement vs. Row STATEMENT Replizieren der SQL Aufrufe binlog-format=row ROW Replizieren des Row Images binlog-format=statement Erkan Yanar (linsenraum.de) MySQL Replication: Eine Einführung 27. Februar 2013 13 / 21
Wie macht das MySQL binlog-formatstatement vs. Row Vorführung mysqlbinlog row statement start-position/stop-position Erkan Yanar (linsenraum.de) MySQL Replication: Eine Einführung 27. Februar 2013 14 / 21
Wie macht das MySQL binlog-formatstatement vs. Row Eine Gegenüberstellung STATEMENT ROW Footprint Small Up to Heavy Performance Query Execution Applying Lesbarkeit Leicht Schwer Idempodent Nein Ja PK Egal Recommended Eindeutig (SQL) Nein Ja Erkan Yanar (linsenraum.de) MySQL Replication: Eine Einführung 27. Februar 2013 15 / 21
a/semisynchrone Replikation asynchrone und semisynchrone Replikation Erkan Yanar (linsenraum.de) MySQL Replication: Eine Einführung 27. Februar 2013 16 / 21
a/semisynchrone Replikation asynchrone und semisynchrone Replikation Erkan Yanar (linsenraum.de) MySQL Replication: Eine Einführung 27. Februar 2013 17 / 21
a/semisynchrone Replikation #master rpl_semi_sync_master_enabled = {0 1} rpl_semi_sync_master_timeout = N #slave rpl_semi_sync_slave_enabled = {0 1} Erkan Yanar (linsenraum.de) MySQL Replication: Eine Einführung 27. Februar 2013 18 / 21
Relevante Optionen sync_binlog [=1] server_id [=1] log_bin [/path/to/file] skip_slave_start read_only binlog_format=[statment,row,mixed] INNODB-READ COMMITTED/READ UNCOMMITTED -> ROW is a must! expire_logs_days Erkan Yanar (linsenraum.de) MySQL Replication: Eine Einführung 27. Februar 2013 19 / 21
Relevante Optionen single threaded one way easy asynchron semisynchron different SE read only read Scaleout MultiMaster (MariaDB) easy Erkan Yanar (linsenraum.de) MySQL Replication: Eine Einführung 27. Februar 2013 20 / 21
Ende Gelände Relevante Optionen Fragen?! Erkan Yanar @ erkan.yanar@linsenraum.de... linsenraum.de/erkules www.xing.com/profile/erkan Yanar Erkan Yanar (linsenraum.de) MySQL Replication: Eine Einführung 27. Februar 2013 21 / 21