Vyhledávání na webu

Jak nastavit replikaci MySQL Master-Slave na RHEL 8


Replikace MySQL je proces, při kterém jsou data z jednoho serveru automaticky zkopírována nebo replikována na jiný záložní server v reálném čase. Replikace poskytuje redundanci a odolnost proti chybám a dává uživateli jistotu, že i po selhání hlavního serveru lze data stále obnovit.

V tomto tutoriálu se naučíte, jak nakonfigurovat a nastavit replikaci MySQL master-slave na RHEL 8 Linux.

Předpoklady

V nastavení budeme mít dva servery se systémem RHEL 8 s následujícími IP adresami.

Master = 173.82.120.14
Slave  = 173.82.115.165

Pojďme nyní pokračovat a uvidíme, jak můžeme nakonfigurovat nastavení replikace MySQL Master-slave na RHEL 8 Linuxu.

Krok 1: Nainstalujte MySQL na hlavní a podřízený server

1. Nejnovější verze MySQL 8.x je již zahrnuta ve výchozím úložišti RHEL 8 a můžete ji nainstalovat pomocí následujícího yum příkaz.

yum -y install @mysql

Krok 2: Zabezpečte MySQL na hlavním a podřízeném serveru

Po instalaci byste nyní měli spustit službu MySQL, kterou jste právě nainstalovali, a spustit ji automaticky při každém spuštění serveru. Použijte proto následující příkaz.

systemctl enable mysqld
systemctl start mysqld

Dále musíte zabezpečit instalaci MySQL spuštěním bezpečnostního skriptu, který je dodáván s několika operacemi založenými na zabezpečení, jako je nastavení hesla uživatele root, odebrání anonymních uživatelů, zakázání vzdáleného přihlášení uživatele root, odebrání testovací databáze a oprávnění k opětovnému načtení.

mysql_secure_installation

Pokračujte zbývající částí výzvy a odpovězte Ano na všechny otázky, takže nastavte server podle nejlepších bezpečnostních postupů.

Krok 3: Konfigurace hlavního serveru MySQL

Chcete-li začít s konfigurací serveru Master, pokračujte a otevřete konfigurační soubor MySQL zadáním následujícího příkazu.

sudo vim /etc/my.cnf

V sekci mysqld připojte řádky, jak je uvedeno níže.

bind-address =173.82.120.14
server-id = 1
log_bin =mysql-bin

Nakonec restartujte službu MySQL.

sudo systemctl restart mysqld

Nyní vytvoříme uživatele replikace. Proto se přihlaste ke svému hlavnímu serveru MySQL jako uživatel root a zadejte heslo.

sudo mysql -u root -p

Nyní spusťte následující příkazy k vytvoření uživatele repliky a zároveň uživateli udělte přístup slave. Nezapomeňte použít IP adresu vašeho počítače.

mysql> CREATE USER 'replica'@'173.82.115.165' IDENTIFIED BY 'strong_password';
mysql> GRANT REPLICATION SLAVE ON *.*TO 'replica'@'173.82.115.165';

Nyní zadáte následující příkaz, který vytiskne binární název souboru a pozici.

mysql> SHOW MASTER STATUS\G

Nezapomeňte si poznamenat výsledný název souboru msql-bin.000002 a jeho pozici 939.

Krok 4: Konfigurace Slave serveru MySQL

Stejně jako v procesu nastavení hlavního serveru byste měli provést následující změny v konfiguračním souboru mysql slave.

sudo vim  /etc/my.cnf

Připojte následující řádky do konfiguračního souboru v sekci mysqld.

bind-address =173.82.115.165
server-id = 2
log_bin =mysql-bin

Restartujte server.

sudo systemctl restart mysqld

Nyní je dalším krokem konfigurace podřízeného serveru pro replikaci z hlavního serveru. Přihlaste se k serveru MySQL.

sudo mysql -u root -p

Nejprve zastavte podprocesy replikace.

mysql> STOP SLAVE;

Nyní spusťte následující dotaz, který nakonfiguruje slave zařízení pro replikaci z hlavního serveru.

mysql> CHANGE MASTER TO
    -> MASTER_HOST='173.82.120.14' ,
    -> MASTER_USER='replica' ,
    -> MASTER_PASSWORD='Jupiter@2030' ,
    -> MASTER_LOG_FILE='mysql-bin.000002' ,
    -> MASTER_LOG_POS=939;

Ujistěte se, že používáte správné uživatelské jméno a heslo IP. Použijte také název souboru a pozici, kterou jste získali z hlavního serveru.

Nakonec zadejte následující příkaz pro spuštění podřízených vláken.

mysql> START SLAVE;

Krok 5: Testování replikace MySQL Master-Slave

V tomto okamžiku jste dokončili konfiguraci hlavního i podřízeného serveru. Nyní musíme ověřit, zda konfigurace funguje a zda replikace může proběhnout.

Chcete-li to provést, přejděte na master server a přihlaste se k databázovému serveru MySQL.

sudo mysql -u root -p

Vytvořte ukázkovou databázi.

mysql> CREATE DATABASE replication_database;

Nyní přejděte na Slave server a znovu se přihlaste k databázovému serveru MySQL.

sudo mysql -u root -p

Nyní vypište všechny databáze pomocí následujícího příkazu.

mysql> SHOW DATABASES;

Pokud vidíte vytvořenou databázi, pak nastavení MySQL Master-Slave Replication funguje.

Závěr

Replikace je poměrně jednoduchý proces, který lze snadno provést. V této příručce jste se naučili, jak můžete vytvořit replikaci hlavního serveru MySQL na slave v RHEL 8 Linuxu.