Replikace dat je proces kopírování dat přes více serverů za účelem zlepšení dostupnosti dat a zvýšení spolehlivosti a výkonu aplikace. v MySQL replikace jsou data zkopírována z databáze z hlavního serveru do jiných uzlů v reálném čase, aby byla zajištěna konzistence dat a také zajištěna záloha a redundance.
V této příručce vám ukážeme, jak můžete nastavit MySQL (Otrokář) replikace v Distribuce založené na RHEL jako CentOS, Fedora, Rocky Linux, a AlmaLinux.
Nastavení replikace MySQL
Takže tady je naše MySQL nastavení replikační laboratoře.
MySQL Master - 10.128.0.14. MySQL Slave - 10.128.15.211.
Začněme…
Krok 1: Nainstalujte MySQL na hlavní a podřízený server
Začneme instalací MySQL databáze na obou mistr a otrok servery.
$ sudo dnf install @mysql.

Po dokončení instalace přejděte na spuštění databázového serveru.
$ sudo systemctl spustit mysqld.
Poté jej povolte, aby se spustil při spuštění systému nebo po restartu.
$ sudo systemctl povolit mysqld.
Poté potvrďte, že MySQL databázový server běží takto:
$ sudo systemctl status mysqld.

Krok 2: Zabezpečte MySQL na hlavním a podřízeném serveru
Dalším krokem je zajištění MySQL databáze na obou mistr a otrok servery. Důvodem je, že výchozí nastavení jsou nezabezpečená a představují určité mezery, které mohou hackeři snadno zneužít.
Takže pro posílení MySQL spusťte příkaz:
$ sudo mysql_secure_installation.
Nejprve budete muset nastavit MySQL root heslo. Ujistěte se, že poskytujete silné heslo root, nejlépe s více než 8 znaky, které jsou kombinací velkých, malých, speciálních a číselných znaků.

Pro zbývající výzvy zadejte 'Y'
vyladit databázový server na doporučená nastavení.

Jakmile dokončíte instalaci a vytvrzení MySQL na hlavním a podřízeném uzlu je dalším krokem konfigurace hlavního uzlu.
Krok 3: Konfigurace hlavního uzlu (serveru)
Dalším krokem je konfigurace Mistr uzel a udělit otrok přístup uzlu k němu. Nejprve musíme upravit mysql-server.cnf konfigurační soubor.
$ sudo vim /etc/my.cnf.d/mysql-server.cnf.
Přidejte následující řádky pod [mysqld]
sekce.
adresa vazby = 10.128.0.14. server-id = 1. log_bin = mysql-bin.
Po dokončení uložte změny a ukončete. Poté restartujte MySQL server.
$ sudo sysemctl restart mysqld.
Dále se přihlaste MySQL skořápka.
$ sudo mysql -u root -p.
Provedením následujících příkazů vytvořte uživatele databáze, který bude použit ke svázání hlavního a podřízeného zařízení pro replikaci.
mysql> CREATE USER 'replica'@'10.128.15.211' IDENTIFIED BY '[e-mail chráněný]'; mysql> GRANT REPLICATION SLAVE NA *.*TO 'replica'@'10.128.15.211';

Použijte změny a ukončete MySQL server.
mysql> FLUSH PRIVILEGES; mysql> EXIT;
Ověřte stav hlavního.
mysql> ZOBRAZIT STAV MASTER\G.

Poznamenejte si název souboru a pozici. Budete to potřebovat později při nastavování slave zařízení pro replikaci. V našem případě máme název souboru as mysql-bin.000001
a Pozice 1232.
Krok 4: Konfigurace Slave Node (Server)
Nyní se vraťte do Slave uzlu. Ještě jednou upravte mysql-server.cnf konfigurační soubor.
$ sudo vim /etc/my.cnf.d/mysql-server.cnf.
Stejně jako předtím vložte tyto řádky pod [mysqld]
sekce. Změňte IP adresu tak, aby odpovídala IP podřízeného zařízení. Také přiřaďte jiný server-id. Zde jsme mu přiřadili hodnotu 2.
adresa vazby = 10.128.15.211. server-id = 2. log_bin = mysql-bin.
Uložte změny a ukončete soubor. Poté restartujte databázový server.
$ sudo systemctl restart mysqld.
Chcete-li nakonfigurovat Otrok uzel, který chcete replikovat z hlavního uzlu, přihlaste se k serveru MySQL Slave.
$ sudo mysql -u root -p.
Nejprve a především zastavte vlákna replikace:
mysql> STOP SLAVE;

Poté proveďte následující příkaz pro konfiguraci podřízeného uzlu pro replikaci databází z hlavního.
mysql> CHANGE MASTER TO MASTER_HOST='10.128.0.14', MASTER_USER='replika', MASTER_PASSWORD='[e-mail chráněný]', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=1232;
Všimněte si, že MASTER_LOG_FILE a MASTER_LOG_POS příznaky odpovídají souboru a Pozice hodnoty z Mistr uzel na konci kroku 1.
The MASTER_HOST, MASTER_USER, a HLAVNÍ HESLO odpovídají hlavní IP adrese, uživateli replikace a heslu uživatele replikace.

Poté spusťte podřízená replikační vlákna:
mysql> START SLAVE;

Krok 4: Testování replikace MySQL Master-Slave
Chcete-li nyní otestovat, zda replikace mezi hlavním a podřízeným uzlem funguje, přihlaste se k databázovému serveru MySQL na hlavním uzlu:
$ sudo mysql -u root -p.
Vytvořte testovací databázi. Zde se nazývá naše testovací databáze replikace_db.
mysql> CREATE DATABASE replikace_db;
Ověřte existenci databáze.
mysql> ZOBRAZIT DATABÁZE;

Nyní přejděte k slave uzlu, přihlaste se k serveru MySQL a potvrďte, že replikace_db databáze je přítomna. Z výstupu níže vidíme, že databáze je přítomna. Toto je potvrzení, že replikace proběhla z hlavního do podřízeného uzlu.
mysql> ZOBRAZIT DATABÁZE;

A je to, úspěšně jsme předvedli, jak můžete nastavit a MySQL model replikace master-slave, který dokáže replikovat databáze z hlavního uzlu na uzel slave.