Page 1 of 1

[Gelöst] MySQL Replikation meherer Tabellen

Posted: 2006-03-03 10:18
by sllnd
Hallo zusammen,

folgende IST-Situation:

2 Webserver mit jeweils einem lokalen MySQL Server.

Server 1 hat einige bestimmte Tabellen, welche auf dem Server 2 synchron gehalten werden sollen.

Hier im Forum habe ich über die Suche schon ein wunderbares HowTo
über Replikation gefunden:

http://www.rootforum.org/forum/viewtopi ... eplikation

was ein serh guter Anfang ist. Diese HowTos beziehen sich jedoch auf die komplette Replikation des MySQL-Servers, was leider nicht mein Ziel ist.

Ist mein vorhaben überhaupüt möglich?
Die Lösung soll/muss, falls machbar, auf MySQL-Ebene geschehen, nicht auf Basis von den PHP-Skripten.


Eine unsauebere Lösung, wäre per Cron Job mysqldumps zu erstellen, die per FTP/scp auf dem anderen spielen und dann dort wieder zu importieren.

Ã?ber jegliche Hilfe bin ich sehr dankbar!

SllnD

Re: [Gelöst] MySQL Replikation meherer Tabellen

Posted: 2006-03-03 10:26
by oxygen
Du kannst problemlos einzelne Datenbanken replizieren.

Code: Select all

replicate-do-db=
binlog-do-db=
sind deine Freunde.
(edit: was im übrigen auch im Howto erwähnt ist)

Re: [Gelöst] MySQL Replikation meherer Tabellen

Posted: 2006-03-03 10:36
by sllnd
øxygen wrote:Du kannst problemlos einzelne Datenbanken replizieren.

Code: Select all

replicate-do-db=
binlog-do-db=
sind deine Freunde.
(edit: was im übrigen auch im Howto erwähnt ist)
Du hast mir gerade echt Freude bereitet :), aber ich meinte folgendes:
Server 1 hat einige bestimmte Tabellen, welche auf dem Server 2 synchron gehalten werden sollen.
-> Nur bestimmte Tabellen sollen synchron gehalten werden, keine ganzen Datenbanken. Das ist ja eben, was die Sache erschwert.

Re: [Gelöst] MySQL Replikation meherer Tabellen

Posted: 2006-03-03 10:44
by sllnd
Ich erstell mir die Antwort mal selber ;)

Auszug aus der MySQL-Doku
http://dev.mysql.com/doc/refman/4.1/en/ ... ff=nopfpls
--replicate-do-table=db_name.tbl_name

Tell the slave thread to restrict replication to the specified table. To specify more than one table, use this option multiple times, once for each table. This works for cross-database updates, in contrast to --replicate-do-db. See Section 6.9, â??How Servers Evaluate Replication Rulesâ?.

Re: [Gelöst] MySQL Replikation meherer Tabellen

Posted: 2006-03-03 10:50
by Joe User
Du suchst: replicate-do-table=db_name.tbl_name
http://dev.mysql.com/doc/refman/5.0/en/replication.html

EDIT: Zu spät...

Re: [Gelöst] MySQL Replikation meherer Tabellen

Posted: 2006-03-03 11:12
by isotopp
SllnD wrote:
øxygen wrote:Du kannst problemlos einzelne Datenbanken replizieren.

Code: Select all

replicate-do-db=
binlog-do-db=
sind deine Freunde.
Nicht nur die, sondern die beiden haben noch mehr von ihren Jungx mitgebracht: replicate-do-table und ihre "wild"-Varianten auch noch.

Im übrigen gibt es keine Forderung, Dinge in einem Schema zu haben, wenn man mit SQL arbeitet. Man kann genausogut seine Wunschtabellen auch in ein andere Schema auf demselben Server stecken und dann "select s1.t1.c1, s2.t2.c2 from s1.t1, s2.t2" machen, wobei s1 und s2 zwei Schemata auf demselben Server sind. Das macht die Replikationskontrolle ein wenig einfacher.