GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nastavit replikaci MySQL v RHEL/Centos

V tomto článku ukážu, jak nastavit replikaci MySQL mezi hlavními a podřízenými databázovými servery. To bude používat dva servery, z nichž jeden bude replikovat data z druhého (Master to Slave). Toto nastavení použijte, pokud chcete zvýšit spolehlivost a výkon konfigurace vašeho systému.

Pokud potřebujete pomoc s nastavením systému založeného na RHEL, nahlédněte do některého z našich dalších výukových programů.

V této příručce budeme používat toto nastavení laboratoře replikace MySQL.

MySQL Master - 192.168.56.1
MySQL Slave  - 192.168.56.2 

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

Začněte instalací databáze MySQL na hlavní i podřízený server.

$ sudo dnf install @mysql

or

$ sudo yum install mysql-server

Po dokončení instalace spusťte službu databáze.

$ sudo systemctl start mysqld

Poté povolte, aby se spustil s systemctl. Povolením sdělíte službě, aby se spustila ve spouštěcí sekvenci.

$ sudo systemctl enable mysqld

Poté potvrďte, že databázový server MySQL běží:

$ sudo systemctl status mysqld

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

Nový databázový server se doporučuje zabezpečit následujícím příkazem:

$ sudo mysql_secure_installation

Chcete-li začít, budete muset nastavit kořenové heslo MySQL. Ujistěte se, že používáte silné heslo root, nejlépe takové, které obsahuje kombinaci velkých, malých písmen, speciálních a číselných znaků a je delší než 8 znaků.

U zbývajících výzev zadejte „Y“, abyste nakonfigurovali databázový server na doporučená nastavení.

Jakmile dokončíte instalaci a posílení MySQL na hlavním a podřízeném uzlu, dalším krokem je konfigurace hlavního uzlu.

Krok 3:Konfigurace hlavního uzlu (serveru)

Nyní nakonfigurujeme hlavní uzel a udělíme přístup podřízenému uzlu. Nejprve musíme upravit konfigurační soubor mysql-server.cnf.

$ sudo vim /etc/my.cnf.d/mysql-server.cnf

Přidejte následující řádky do sekce [mysqld].

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

Po dokončení uložte změny a ukončete. Poté restartujte server MySQL.

$ sudo sysemctl restart mysqld

Dále se přihlaste do prostředí MySQL.

$ sudo mysql -u root -p

Provedením následujících příkazů vytvořte databázového uživatele, který bude použit k propojení hlavního a podřízeného zařízení pro replikaci.

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

Použijte změny a ukončete server MySQL.

mysql> FLUSH PRIVILEGES;
mysql> EXIT;

Ověřte stav hlavního serveru.

mysql> SHOW MASTER STATUS\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 binlog.000001 a pozici 854.

Krok 4:Nakonfigurujte podřízený uzel (server)

Nyní se vraťte do Slave uzlu. Ještě jednou upravte konfigurační soubor mysql-server.cnf.

$ sudo vim /etc/my.cnf.d/mysql-server.cnf

Stejně jako dříve vložte tyto řádky do sekce [mysqld]. Změňte IP adresu tak, aby odpovídala IP podřízeného zařízení. Také přiřaďte jiné ID serveru. Zde jsme mu přiřadili hodnotu 2.

bind-address	 = 192.168.56.2
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 uzel Slave tak, aby se replikoval z uzlu Master, přihlaste se k serveru MySQL Slave.

$ sudo mysql -u root -p

Začněte zastavením vláken 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 uzlu.

mysql> CHANGE MASTER TO
     MASTER_HOST='192.168.56.1' ,
     MASTER_USER='replica' ,
     MASTER_PASSWORD='Password' ,
     MASTER_LOG_FILE='binlog.000001' ,
     MASTER_LOG_POS=854;

Příznaky MASTER LOG FILE a MASTER LOG POS odpovídají hodnotám souboru a pozice z hlavního uzlu na konci kroku 1.

MASTER HOST, MASTER USER a MASTER PASSWORD jsou hlavní IP adresa, uživatel replikace a heslo.

Potom by měla být spuštěna 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 naše testovací databáze nazývá replikace_db.

mysql> CREATE DATABASE replication_db;

Ověřte existenci databáze.

mysql> SHOW DATABASES;

Nyní přejděte do slave uzlu, přihlaste se k serveru MySQL a znovu zkontrolujte, zda existuje replikační databáze db. Vidíme, že databáze je přítomna ve výstupu níže. To znamená, že došlo k replikaci z hlavního do podřízeného uzlu.

mysql> SHOW DATABASES;

Cent OS
  1. Jak nastavit SysLog Server na CentOS 7 / RHEL 7

  2. Jak nainstalovat MySQL 8.0 na CentOS/RHEL 8

  3. Jak nastavit mutt v CentOS/RHEL

  1. Jak nastavit nastavení MySQL Master-Slave pomocí uzlů CentOS 7?

  2. Jak nastavit server NFS na CentOS 7 / RHEL 7

  3. Jak nastavit Icinga Web 2 na CentOS 7 / RHEL 7

  1. Jak nastavit Pure-FTPD s MySQL na CentOS a RedHat

  2. Jak nastavit replikaci MySQL na CentOS

  3. Jak nastavit proxy server squid na CentOS/RHEL 7