[Gelöst] MySQL Replikation meherer Tabellen

MySQL, PostgreSQL, SQLite
sllnd
Posts: 177
Joined: 2002-10-14 22:33

[Gelöst] MySQL Replikation meherer Tabellen

Post by sllnd » 2006-03-03 10:18

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/viewtopic ... 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
Last edited by sllnd on 2006-03-03 10:44, edited 1 time in total.

oxygen
RSAC
Posts: 2179
Joined: 2002-12-15 00:10
Location: Bergheim

Re: [Gelöst] MySQL Replikation meherer Tabellen

Post by oxygen » 2006-03-03 10:26

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)

sllnd
Posts: 177
Joined: 2002-10-14 22:33

Re: [Gelöst] MySQL Replikation meherer Tabellen

Post by sllnd » 2006-03-03 10:36

ø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.

sllnd
Posts: 177
Joined: 2002-10-14 22:33

Re: [Gelöst] MySQL Replikation meherer Tabellen

Post by sllnd » 2006-03-03 10:44

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â?.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11599
Joined: 2003-02-27 01:00
Location: Hamburg

Re: [Gelöst] MySQL Replikation meherer Tabellen

Post by Joe User » 2006-03-03 10:50

Du suchst: replicate-do-table=db_name.tbl_name
http://dev.mysql.com/doc/refman/5.0/en/replication.html

EDIT: Zu spät...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

User avatar
isotopp
RSAC
Posts: 482
Joined: 2003-08-21 10:21
Location: Berlin

Re: [Gelöst] MySQL Replikation meherer Tabellen

Post by isotopp » 2006-03-03 11:12

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.