Konfigurowanie replikacji bazy danych MySQL
Zawsze chodzi o dane. Co znajduje się wykorzystywania systemu bez danych opiera się ona na?
Konfigurowanie replikacji baz danych jest jednym z wielu kroków, które należy podjąć w celu ochrony danych, co uniemożliwia jakiekolwiek straty i podejmowania awarii łatwiej.
Na szczęście, łatwo z MySQL. Więc załóżmy, że mamy dwa serwery z systemem MySQL, jeden nazywa się host1 i inne host2.
Replikacja może być master-master lub master-slave. Z replikacji master-slave, niewolnik zawsze replikuje co głównej bazy danych jest wykonywany. Master-master replikacji, zarówno baz danych synchronizacji z pozostałymi.
Dla celów tego samouczka, master-slave (tutaj host1 i host2 odpowiednio) scenariusz jest badana.
Przede wszystkim, należy otworzyć plik konfiguracyjny mysql na host1 (zwykle znaleźć w pliku / etc / my.cnf na linux i c: \ windows \ my.ini w Windows), i odkomentować (usunąć hash) z następujących linii:
# Skip-networking
Po drugie, należy określić plik, w którym główny (host1) należy zalogować się (zapis) pytania to wykonania. Pozwoli to slave (host2) do odczytu tych zapytaniach i wykonać je dobrze. Jako takie, dodać taką linię:
log-bin = / ścieżka / do / mysql-bin.log
gdzie wartość powyżej jest ścieżką do pliku, w którym MySQL powinien robić logowania. Można bardzo dobrze utwórz osobny katalog lub użyć domyślnego katalogu instalacji mysql (np. c: \ program files \ mysql \ na okna lub / var / lib / mysql na linux)
Następnie należy określić nazwę bazy danych, o których mowa. Więc jeśli jesteś utworzenia replikacji dla jednego ze swoich baz danych MySQL o nazwie "work_data", to jest to linia, którą trzeba dodać do config MySQL:
binlog-do-db = work_data
Wreszcie, należy określić identyfikator serwera, który mówi, że jest to serwer główny
server-id = 1
Zapisz plik konfiguracyjny i wyjść.
Teraz trzeba dać host2 uprawnienia do replikacji danych. Jako takie zapytanie do bazy MySQL musi być wydane na mistrza.
Więc na host1, zaloguj się do MySQL polecenia (mysql-u root-pyour_root_password) (lub PHPMyAdmin, itp. ... co używasz) i wydać następujące oświadczenie:
niewolnik replikacji dotacji na *.* do "'@'%' użytkownika zidentyfikowane przez 'hasło';
Pamiętaj aby zastąpić nazwę użytkownika i hasło z poświadczenia wybór. Czy zachować apostrofów chociaż.
Znak% oznacza, że niewolnik może się połączyć z dowolnego hosta. Jeśli ma to być bardziej bezpieczne, wymienić, że z host2 (niewolnika nazwa hosta).
Po wszystkich wyżej odbywa się ponownie uruchomić MySQL (usługa mysqld restart (linux) lub net stop mysql, net start mysql (na okna)).
Jeśli baza danych nie wcześniej, upewnij się, zrzucić go i załadować je na niewolników przed wykonaniem któregokolwiek z powyższych. Danych Dumping jest łatwe i może być wykonana przez cd'ing do katalogu bin MySQL i wydawania:
mysqldump-Q-u root-pyour_root_password databasename> database_dump.sql
(Wymienić hasło i nazwę bazy danych z poprawnym zalogowaniu). Całej bazy danych będzie teraz w pliku o nazwie database_dump.sql
Aby zaimportować go na host2, cd do katalogu bin MySQL i problem:
mysql-u root-pyour_root_password databasename </ path / to / / file / database_dump.sql
Plik konfiguracyjny MySQL na host2 powinna mieć następujące linie:
server-id = 2
master-host = host1
master-user = nazwa użytkownika
master-password =
master-port = 3306
gdzie host1 jest pana hostname / IP i nazwę użytkownika i hasło są poświadczenia używane podczas udzielania dostępu do replikacji kilka kroków powyżej. 3306 jest portem MySQL jest uruchomiony (co jest domyślne)
Następnie rozpocząć proces slave na host2 wydając na MySQL polecenia:
początek niewolnikiem;
Aby upewnić się, replikacja działa, problem następujące zapytanie SQL na host1:
statusu niewolnika pokazują \ G
(Slave_SQL_Running i Slave_IO_Running powinien zgłosić "Tak")
Powodzenia

Świetnie, tylko to, co potrzebne. Teraz ... Czy można ustawić kilka urządzeń Mistrz replikacji w jednym slave Server?. Pytam tak, ponieważ im próbujesz uruchomić Active-tryb gotowości topologii, w którym, jeśli jeden z Mistrzów nie powiedzie to może być tymczasowo zastąpić przez serwer Slave. Dzięki
Drogi Robercie,
Co na temat uruchamiania wielu usług MySQL na slave? Każdy będzie uruchomiony na innym porcie i będzie zależny od innego mistrza.
Thats Genius! , Mimo, że będę musiał zmienić sposób użytkowników łączy się z bazą danych w celu płynnego przejścia w przypadku awarii.
Można skonfigurować lokalne usługi DNS, i że użytkownicy użyj hostname (w normalnych przypadkach wskazując na master) dostęp do usług.
W przypadku awarii, wystarczy zmienić rekord DNS tej nazwy hosta do punktu do maszyny slave.
Użytkownicy nie zauważą zmiany w przypadku zmiany IP, nazwa hosta postanawia.
[...] Pozwala na dodawanie i usuwanie węzłów z klastra bez konieczności clients.Tips przekonfigurować i sztuczki Konfiguracja bazy danych MySQL replicationSo załóżmy, mamy dwóch serwerów MySQL, jeden nazywa się host1 i inne host2. ... Jeśli [...]