MySQL Replication: Eine Einführung

Werbung
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
Footprint
Performance
Lesbarkeit
Idempodent
PK
Eindeutig (SQL)
Erkan Yanar (linsenraum.de)
STATEMENT
Small
Query Execution
Leicht
Nein
Egal
Nein
ROW
Up to Heavy
Applying
Schwer
Ja
Recommended
Ja
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
different SE
one way
read only
easy
read Scaleout
asynchron
MultiMaster (MariaDB)
semisynchron
easy
Erkan Yanar (linsenraum.de)
MySQL Replication: Eine Einführung
27. Februar 2013
20 / 21
Relevante Optionen
Ende Gelände
Fragen?!
Erkan Yanar @
[email protected]
...
linsenraum.de/erkules
www.xing.com/profile/Erkan Yanar
Erkan Yanar (linsenraum.de)
MySQL Replication: Eine Einführung
27. Februar 2013
21 / 21
Herunterladen