• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Replikation wird nicht eingespielt

binbash

Newbie
Hallo an alle,

wie der Thread bereits verrät werden die Replikationen einfach nicht übernommen.

Der Slave repliziert wiederum von einem Slave der an einem Master hängt.
IP.XXX.164 Slave2 IP.XXX.165 Slave 1 IP.XXX.18 Master


Die Logdatei des Slave 2
081030 9:42:59 [Note] Slave I/O thread: connected to master 'repl@XXXX.165:3306', replication started in log 'mysql-bin.000641' at position 98
081030 9:42:59 [Note] Slave SQL thread initialized, starting replication in log 'mysql-bin.000641' at position 98, relay log './mysqld-relay-bin.000034' position: 235
Dabei bleibt es dann auch


Doch ein $ select count(*) from guestbock_entry; auf dem Slave 2
gibt ca 17800 an

ein $ select count(*) from guestbock_entry; auf dem Slave 1 gibt
ca 18300 an

Slave :
tcpdump -i eth0 -n | grep 165

zeigt aber ziemlich regen Verkehr zwischen dem Slave1 und Slave2 an.

Hat jemand einen Tip ?
 

marce

Guru
werden inserts oder sonstige Veränderungen im Master korrekt durchgezogen?

Wenn ja - dann war vielleicht die initiale DB über die Slaves nicht konsistent. Wie hast Du denn den Slave 1 und 2 aufgesetzt?
 
OP
binbash

binbash

Newbie
Slave 1 wurde per mysql-dump vom Master erstellt..
das geiche Prinzip habe ich auf den Slave 2 angewendet (der dump kam vom Slave1), vor dem dump Schreibzugriffe gestoppt und die Positionen aufgeschrieben nach dem Einspielen des dumps auf Slave 2 habe ich die
Informationen dem SLave 2 übergeben...

mysql> show slave status \G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: XXXXX.165
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000641
Read_Master_Log_Pos: 392
Relay_Log_File: mysqld-relay-bin.000035
Relay_Log_Pos: 529
Relay_Master_Log_File: mysql-bin.000641
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB: trops
Replicate_Ignore_DB:
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: 392
Relay_Log_Space: 529
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0 // Das kann nicht ganz sein
1 row in set (0.00 sec)

Im Master werden inserts korrekt vollzogen da er im Netz hängt und ständig Zugriffe hat..da kann das Problem nicht liegen
Slave 1 war den gestrigen Tag off und zeigt nun bei Seconds_Behind-Master ca 80000 an, sprich der funktioniert

Danke
 

marce

Guru
bitte beschreibe genau, wie Du die Repl. aufgesetzt hast.

Und ich wollte eigentlich wissen, ob ein insert im Master in den Slaves nachgezogen wird...
 
OP
binbash

binbash

Newbie
So hier die ausführliche Beschreibung

Auf dem Slave 1
FLUSH TABLES WITH READ LOCK;
SHOW MASTER STATUS;
$ mysqldump -h localhost -u root --lock-all-tables -p trops > ~/trops-sql-2008-04-01-replication-test.sql
UNLOCK TABLES;

GRANT REPLICATION SLAVE ON *.* TO 'repl'@'XXXXXXXXX' IDENTIFIED BY 'XXXXXXXXX';

Dump mittels scp rüber kopiert

Auf dem Slave 2
CREATE DATABASE trops;
USE trops;
SOURCE ~/trops-sql-2008-04-01-replication-test.sql;

CHANGE MASTER TO MASTER_HOST='XXXXXX", MASTER_USER='repl', MASTER_PASSWORD='XXXXXX', MASTER_LOG_FILE='XXXXXXX', MASTER_LOG_POS=XXXXXX;

START SLAVE;

Auf den Master kann ich nicht zugreifen da ich keinen Zugang habe.
Habe nur Zugriff auf Slave 1 & 2.
 
Oben