Konfigurowałem replikację główną MySQL (w Debianie 6.0.1), postępując zgodnie z następującymi instrukcjami: http://www.neocodesoftware.com/replication/
Mam do tej pory:
mysql > show master status;
ale powoduje to niestety następujące, a nie użyteczne wyniki:
Empty set (0.00 sec)
Dziennik błędów w /var/log/mysql.err
to tylko pusty plik, więc nie daje mi to żadnych wskazówek.
Jakieś pomysły?
Oto, co umieściłem /etc/mysql/my.cnf
na jednym serwerze (odpowiednio zmienionym dla drugiego serwera):
server-id = 1
replicate-same-server-id = 0
auto-increment-increment = 2
auto-increment-offset = 1
master-host = 10.0.0.3
master-user = <myusername>
master-password = <mypass>
master-connect-retry = 60
replicate-do-db = fruit
log-bin = /var/log/mysql-replication.log
binlog-do-db = fruit
Skonfigurowałem użytkowników i mogę połączyć się z MySQL na serwerze A z bazą danych na serwerze B, używając powyższej nazwy użytkownika / hasła / ipaddress.
show master status
widzęEmpty set
. Zaskoczony!Odpowiedzi:
Co ciekawe, mysql działa na moim komputerze z wyłączonymi dziennikami binarnymi. Zrobiłem następujące:
Jak pokazano, ponieważ MySQL pokazuje „Pusty zestaw” dla SHOW MASTER STATUS; ponieważ rejestrowanie binarne nie zostało włączone. To oczywiste, biorąc pod uwagę moją konfigurację.
Pierwszą rzeczą, którą powinieneś zrobić, to upewnić się, że dziennik błędów ma określony folder
Następnie uruchom następujące czynności:
Następnie w kliencie mysql uruchom te polecenia SQL
Jeśli otrzymujesz takie same dane wyjściowe, jakie miałem wcześniej, MySQL nie może zapisywać dzienników binarnych w wyznaczonym folderze. Waszym dylematem staje się to, dlaczego MySQL nie może pisać do / var / log.
To nie jest pełna odpowiedź, ale mam nadzieję, że to pomoże.
źródło
Jeśli wersja MySQL jest> 5.0, ustawienia replikacji master-host, master-user, master-password i kilka innych w pliku my.cnf zostaną zignorowane. Użyj CHANGE MASTER TO do początkowej konfiguracji replikacji.
Porównaj http://dev.mysql.com/doc/refman/5.1/en/replication-howto-slaveinit.html
źródło
Twoje ustawienie dla
log-bin
jest nieprawidłowe, więc MySQL nie może zapisywać dzienników binarnych. To nie jest nazwa pliku, to częściowy wzorzec nazwy pliku , do którego MySQL przygotuje katalog i doda numer sekwencji oraz rozszerzenie. Zwykłe ustawienie to coś w rodzajuSprawdź instrukcję.
źródło
--log-bin=file_name
( dev.mysql.com/doc/refman/5.7/en/… ). Jaka instrukcja mówi, że nie jest to nazwa pliku?