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.