MySQL-Replikation

MySQL, PostgreSQL, SQLite
pea
Posts: 13
Joined: 2006-08-18 23:44
Location: Köthen

MySQL-Replikation

Post by pea » 2006-09-11 18:55

Nachdem das Einrichten einer Replikation recht flüssig voran ging ... der erste Versuch endete lt. MySQL-Logs mit einem Rechtefehler und beim zweiten Start stand etwas von Replikation erfolgreich - dachte ich mir schon, dass es so einfach doch nicht sein kann! Und so kam es natürlich auch; zurzeit bin ich auf dem verzweifelten Standpunkt: "Vielleicht geht's ja morgen früh...". :?

Also: Die Replikation funktioniert bis zu der Stelle, dass die Daten alle 60 Sekunden fleißig in die domain-bin.001 usw. geschrieben werden. Hier kommen wirklich alle aktuellen Daten an; nur in den Datenbank-Tabellen selbst tut sich nichts - sie ist noch immer auf dem Stand der anfänglichen Kopie.

Ich bin für wirklich ALLE Anregungen dankbar und versuch' es auch noch weiter mit Google und natürlich hier im Forum.

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

Re: MySQL-Replikation

Post by oxygen » 2006-09-11 19:04

versuch mal auf dem Slave:

Code: Select all

STOP SLAVE;
LOAD DATA FROM MASTER;
START SLAVE;

pea
Posts: 13
Joined: 2006-08-18 23:44
Location: Köthen

Re: MySQL-Replikation

Post by pea » 2006-09-11 20:20

Code: Select all

LOAD DATA FROM MASTER;
... das förderte schon mal einen Rechtefehler zu Tage (RELOAD auf dem MASTER hatte ich nicht erteilt).
Auf dem MASTER hat mein User replica folgende Rechte:
- FILE
- RELOAD
- REPLICATION CLIENT
- REPLICATION SLAVE

Auf dem SLAVE hat dieser User:
- REPLICATION SLAVE
sowie für die Datenbank-Tabelle erst mal alles!

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

Re: MySQL-Replikation

Post by oxygen » 2006-09-11 21:25

für LOAD DATA FROM MASTER braucht der User SUPER, RELOAD und SELECT.

pea
Posts: 13
Joined: 2006-08-18 23:44
Location: Köthen

Re: MySQL-Replikation

Post by pea » 2006-09-14 12:05

Mit diesen Rechten hat LOAD DATA FROM MASTER; nun einwandfrei funktioniert, alle Daten stehen wie auf dem Master schön in der Datenbank.
Nur eine 'automatische' Replikation findet noch immer nicht statt. Es werden die *bin.001 usw. relay-bin.001 etc. mit aktuell geänderten Daten befüllt und das war's.

my.cnf-Einstellungen auf dem Slave:

Code: Select all

[mysqld]
port            = 3306
socket          = /var/lib/mysql/mysql.sock
skip-locking
key_buffer = 256M
max_allowed_packet = 1M
table_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
myisam_sort_buffer_size = 64M
thread_cache = 8
query_cache_size= 16M
thread_concurrency = 8
master-host=meine.domain.de
master-user=user
master-password=*****
server-id=10
replicate-do-db=name_der_db
Auf dem Master sieht's hier wie folgt aus:

Code: Select all

[mysqld]
port            = 3306
socket          = /var/lib/mysql/mysql.sock
skip-locking
key_buffer = 384M
max_allowed_packet = 1M
table_cache = 512
sort_buffer_size = 2M
read_buffer_size = 2M
myisam_sort_buffer_size = 64M
thread_cache = 8
query_cache_size = 32M
thread_concurrency = 8
log-bin
server-id=1
binlog-do-db=name_der_db