Jak skonfigurować replikację mistrza mistrza Mysql

Jak skonfigurować replikację mistrza mistrza Mysql

Mysql Master-Slave Replikacja polega na skonfigurowaniu Slave Server do natychmiastowej aktualizacji, gdy tylko zmiany dokonane na serwerze głównym. Ale nie zaktualizuje Master, jeśli na serwerze niewolniczej są wprowadzone zmiany. Przeczytaj ten artykuł, aby skonfigurować replikację mistrzów.

Ten artykuł pomoże Ci skonfigurować replikację mistrza mistrza między serwerami MySQL. W tej konfiguracji, jeśli jakiekolwiek zmiany dokonane na dowolnym serwerze zaktualizują się na drugim.

Szczegóły konfiguracji:
Master-1: 192.168.1.15 Master-2: 192.168.1.16 Baza danych: MYDB 

Jeśli używasz różnych - różne wersje MySQL na obu serwerach, użyj tego linku, aby sprawdzić kompatybilność.

Krok 1. Skonfiguruj serwer Mysql Master-1

  • Edytuj plik konfiguracyjny MySQL i dodaj następujące wiersze w sekcji [MySQLD].
  • # vim /etc /mój.CNF 
    [mysqld] log-bin = mysql-bin binlog-do-db = mydb server-id = 1 
  • Uruchom ponownie serwer MySQL, aby zmienić zmiany.
  • # Service Mysqld restart 
  • Utwórz konto MySQL na serwerze Master-1 z uprawnieniami do niewolników replikacji, z którymi klient replikacji połączy się z Master.
  • mysql> Replikacja dotacji niewolnik na *.* Do „Rep_user”@'%' identyfikowany przez „SecretPassword”; mysql> uprawnienia spłukające; 
  • Instrukcja blokowania zapisu na wszystkich tabelach, więc po utworzeniu kopii zapasowej nie można wprowadzić żadnych zmian.
  • mysql> Użyj mydb; MySQL> SPLUSH TABELE z Lock Read; 
  • Sprawdź bieżącą nazwę pliku binarnego (plik) i bieżącą wartość przesunięcia (pozycję) za pomocą następującego polecenia.
  • mysql> pokaż status główny; +------------------+----------+--------------+------------------+ |. Plik | Pozycja | Binlog_do_db | Binlog_ignore_db | +------------------+----------+--------------+---- --------------+ | Mysql-bin.000003 | 332 | mydb | |. +------------------+----------+--------------+---- --------------+ 1 wiersz w zestawie (0.00 s) 

    Powyższe wyjście pokazuje, że bieżący plik binarny używa Mysql-bin.000003 A wartość przesunięcia jest 332. Zanotuj te wartości do użycia na serwerze Master-2 w następnym kroku.

  • Weź kopię zapasową bazy danych i skopiuj ją do innego serwera MySQL.
  • # mysqldump -u root -p mydb> mydb.sql # scp mydb.SQL 192.168.1.16:/opt/ 
  • Po zakończeniu kopii zapasowej usuń blokadę odczytu z tabel, aby można było wprowadzić zmiany.
  • Mysql> Odblokuj tabele; 

    Krok 2. Konfiguracja serwera master-2 Mysql

  • Edytuj plik konfiguracyjny MISQL Master-2 i dodaj następujące wartości w sekcji [MySQLD].
  • # vim /etc /mój.CNF 
    [mysqld] log-bin = mysql-bin binlog-do-db = mydb server-id = 1 

    Serwer-ID zawsze nie ma wartości liczbowej zerowej. Ta wartość nigdy nie będzie podobna do innych serwerów mistrzów lub niewolników.

  • Uruchom ponownie mysql Server, jeśli skonfigurowałeś już replikację, użyj -KIP-SLAVE-start w Start do natychmiastowego połączenia z serwerem głównym.
  • # Service Mysqld restart 
  • Przywróć kopię zapasową bazy danych pobranych z serwera głównego.
  • # mysql -u root -p mydb < /opt/mydb.sql 
  • Utwórz konto MySQL na serwerze Master-1 z uprawnieniami do niewolników replikacji, z którymi klient replikacji połączy się z Master.
  • mysql> Replikacja dotacji niewolnik na *.* Do „Rep_user”@'%' identyfikowany przez „SecretPassword”; mysql> uprawnienia spłukające; 
  • Sprawdź bieżącą nazwę pliku binarnego (plik) i bieżącą wartość przesunięcia (pozycję) za pomocą następującego polecenia.
  • mysql> pokaż status główny; +------------------+----------+--------------+------------------+ |. Plik | Pozycja | Binlog_do_db | Binlog_ignore_db | +------------------+----------+--------------+---- --------------+ | Mysql-bin.000001 | 847 | mydb | |. +------------------+----------+--------------+---- --------------+ 1 wiersz w zestawie (0.00 s) 

    Powyższe wyjście pokazuje, że bieżący plik binarny używa Mysql-bin.000001 A wartość przesunięcia jest 847. Zanotuj te wartości do użycia w kroku 3.

  • Skonfiguruj wartości opcji na serwerze Slave za pomocą następującego polecenia.
  • mysql> Zmień Master na master_host = "192.168.1.15 ", -> master_user =" Rep_user ", -> master_password =" SecretPassword ", -> master_log_file =" MySQl -bin.000003 ", -> master_log_pos = 332; 

    Krok 3: Kompletna konfiguracja na MySQL Master-1

    Zaloguj się do serwera Mysql Master-1 i wykonaj następujące polecenie.

    mysql> Zmień Master na master_host = "192.168.1.16 ", master_user =" Rep_user ", Master_Password =" SecretPassword ", master_log_file =" mysql-bin.000001 ", master_log_pos = 847; 
    Krok 4: Rozpocznij niewolnik na obu serwerach

    Wykonaj następujące polecenie na obu serwerach, aby rozpocząć proces niewolnika replikacji.

    mysql> start niewolnika; 

    Replikacja Mysql Master-Master została pomyślnie skonfigurowana w systemie i w trybie roboczym. Aby sprawdzić, czy replika działa, wprowadzaj zmiany na dowolnym serwerze i sprawdź, czy zmiany odbijają się na innym serwerze.

    Dziękujemy za skorzystanie z tego samouczka, jeśli jest to dla Ciebie pomocne, nie zapomnij podzielić się nim ze znajomymi.