GNU/Linux >> Znalost Linux >  >> Linux

Jak nastavit replikaci MariaDB Master Slave na Ubuntu 18.04

MariaDB je bezplatný systém správy relačních databází s otevřeným zdrojovým kódem a je jednou z nejoblíbenějších možností. Replikace je proces kopírování dat z jednoho hlavního databázového serveru na jiný podřízený databázový server. V topologii master-slave jeden server funguje jako master a ostatní servery fungují jako slave. Při replikaci master-slave jsou data replikována pouze jednosměrně. Pokud změníte data na podřízeném serveru, nebudou replikována na hlavní server. Pokud selže hlavní server, stále můžete obnovit svá data z podřízeného serveru.

Replikaci MariaDB master-slave můžete použít k několika účelům; některé z nich jsou uvedeny níže:

  • Škálovatelnost a vysoká dostupnost
  • Zálohy
  • Analytics
  • Vyrovnávání zátěže
  • Zvýšení výkonu databáze
  • Zmírnění převzetí služeb při selhání
  • Zabezpečení dat

V tomto tutoriálu vám ukážeme, jak nastavit replikaci MariaDB master-slave na serveru Ubuntu 18.04.

Předpoklady

  • Dvě nové Ubuntu 18.04 VPS na cloudové platformě Atlantic.Net.
  • Statické heslo root nakonfigurované na obou serverech.

Krok 1 – Vytvoření cloudového serveru Atlantic.Net

Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte Ubuntu 18.04 s alespoň 2 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.

Jakmile se přihlásíte na svůj server Ubuntu 18.04, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.

apt-get update -y

Krok 2 – Instalace MariaDB na oba servery

Nejprve budete muset nainstalovat MariaDB na oba servery. Můžete jej nainstalovat spuštěním následujícího příkazu:

apt-get install mariadb-server mariadb-client -y

Po instalaci MariaDB spusťte následující příkaz k zabezpečení instalace MariaDB:

mysql_secure_installation

Odpovězte na všechny otázky, jak je uvedeno níže:

Zadejte aktuální heslo pro root (zadejte pro žádné):Stiskněte Enter Nastavit heslo root? [A/n] A Nové heslo:Znovu zadejte nové heslo:Odstranit anonymní uživatele? [A/n] A Zakázat vzdálené přihlášení root? [A/n] A Odebrat testovací databázi a přístup k ní? [A/n] A Znovu načíst tabulky oprávnění? [A/n] A 

V tomto okamžiku jste nainstalovali a zabezpečili oba servery MariaDB.

Krok 3 – Konfigurace hlavního serveru

Dále budete muset povolit binární protokolování a replikaci na hlavním serveru. Chcete-li tak učinit, otevřete soubor /etc/mysql/mariadb.conf.d/50-server.cnf pomocí preferovaného textového editoru:

nano /etc/mysql/mariadb.conf.d/50-server.cnf

Najděte linku bind-address a změňte hodnotu na 0.0.0.0, abyste povolili příchozí připojení.

bind-address            =0.0.0.0

Dále přidejte na konec souboru následující řádky:

id serveru =1log_bin =/var/log/mysql/mysql-bin.loglog_bin_index =/var/log/mysql/mysql-bin.log.indexrelay_log =/var/log/mysql/mysql-relay-binrelay_log_index =/var/log/mysql/mysql-relay-bin.index

Po dokončení uložte a zavřete soubor. Poté restartujte službu MariaDB a implementujte změny:

systemctl restart mariadb

Dále budete muset vytvořit uživatele replikace. Podřízený server použije tohoto uživatele k přihlášení k hlavnímu serveru a k vyžádání binárních protokolů.

Nejprve se přihlaste do prostředí MariaDB pomocí následujícího příkazu:

mysql -u root -p

Po zobrazení výzvy zadejte heslo uživatele root a poté vytvořte uživatele pomocí následujícího příkazu:

CREATE USER 'replication'@'%' identifikované pomocí 'vašeho-hesla';

Dále udělte tomuto uživateli oprávnění slave replikace pomocí následujícího příkazu:

UDĚLEJTE REPLIKACI SLAVE NA *.* TO 'replication'@'%';

Dále vyprázdněte oprávnění pomocí následujícího příkazu:

FLUSH PRIVILEGES;

Dále zkontrolujte stav hlavního serveru pomocí následujícího příkazu:

zobrazit hlavní stav;

Měli byste získat následující výstup:

+------------------+----------+--------------+- ------------------+| Soubor             | Pozice | Binlog_Do_DB | Binlog_Ignore_DB |+------------------+----------+--------------+-- -----------------+| mysql-bin.000001 | 313 | | |+------------------+----------+--------------+--- ---------------+

Dále ukončete prostředí MariaDB pomocí následujícího příkazu:

KONEC;

Poznámka :Pamatujte prosím na Soubor a Pozice podrobnosti z výše uvedeného výstupu. Tyto hodnoty budete potřebovat při konfiguraci podřízeného serveru.

Krok 4 – Konfigurace podřízeného serveru

Dále se přihlaste k podřízenému serveru a otevřete soubor /etc/mysql/mariadb.conf.d/50-server.cnf:

nano /etc/mysql/mariadb.conf.d/50-server.cnf

Najděte linku bind-address a změňte hodnotu na 0.0.0.0, jak je uvedeno níže:

bind-address            =0.0.0.0

Dále přidejte na konec souboru následující řádky:

id serveru =2log_bin =/var/log/mysql/mysql-bin.loglog_bin_index =/var/log/mysql/mysql-bin.log.indexrelay_log =/var/log/mysql/mysql-relay-binrelay_log_index =/var/log/mysql/mysql-relay-bin.index

Po dokončení uložte a zavřete soubor. Poté restartujte službu MariaDB a implementujte změny:

systemctl restart mariadb

Dále se přihlaste do prostředí MariaDB pomocí následujícího příkazu:

mysql -u root -p

Po zobrazení výzvy zadejte své heslo uživatele root a poté zastavte podřízená vlákna, jak je znázorněno níže:

stop slave;

Dále spusťte následující příkaz pro nastavení podřízeného zařízení pro replikaci hlavního:

CHANGE MASTER TO MASTER_HOST ='ip-vašeho-hlavního hostitele', MASTER_USER ='replikace', MASTER_PASSWORD ='vaše-heslo', MASTER_LOG_FILE ='mysql-bin.000001', MASTER_LOG_POS =313;

Dále spusťte podřízená vlákna a ukončete prostředí MariaDB, jak je znázorněno níže:

start slave;exit;

Poznámka :Upravte výše uvedený příkaz tak, aby používal vaši IP adresu hlavního hostitele a vaše heslo, které jste vytvořili v předchozích krocích. Použijte prosím název souboru protokolu a hodnoty pozice, které jste získali z hlavního serveru.

Krok 5 – Test replikace databáze

V tomto okamžiku jste nakonfigurovali replikaci master-slave. Nyní je čas otestovat replikaci mezi master to slave.

Na hlavním serveru se přihlaste do prostředí MariaDB pomocí následujícího příkazu:

mysql -u root -p

Až budete vyzváni, zadejte své heslo uživatele root a poté vytvořte databázi s názvem mydb, jak je uvedeno níže:

vytvořit databázi mydb;

Dále vytvořte tabulku s názvem „products“ v databázi mydb:

použijte mydb;CREATE TABLE products(product_id INT NOT NULL AUTO_INCREMENT,product_name VARCHAR(100) NOT NULL,product_manufacturer VARCHAR(40) NOT NULL,submission_date DATE,PRIMARY KEY (product_id));

Dále spusťte následující příkaz a zkontrolujte tabulku:

ZOBRAZIT TABULKY;

Výstup:

+-----------------+| Tables_in_mydb |+----------------+| produkty       |+----------------+

Na podřízeném serveru se přihlaste do prostředí MariaDB pomocí následujícího příkazu:

mysql -u root -p

Po zobrazení výzvy zadejte heslo uživatele root a poté zkontrolujte stav podřízené jednotky:

ZOBRAZIT STAV SLAVE \G

Měli byste vidět následující výstup:

***************************** 1. řádek **************** ********** SLAVE_IO_STATE:Čekání na Master Odeslat událost Master_Host:Váš master-host-IP Master_user:Replikace Master_Port:3306 Connect_Retry:60 Master_log_File:mysql-bin.000001 Read_Master_Log_POS:721 Relay_log_Log_Log_LOG_ relay-bin.000002                Relay_Log_Pos:945        Relay_Master_Log_File:mysql-bin.000001              Slave_IO_Running: Running   Ano     SQL_Running:Ano      

Dále spusťte následující příkaz a zkontrolujte, zda je databáze replikována:

zobrazit databáze;

Měli byste vidět databázi mydb, kterou jste vytvořili na hlavním serveru:

+--------------------+| Databáze           |+--------------------+| informační_schéma || mydb               || mysql              || performance_schema |+--------------------+

Dále zkontrolujte tabulku produktů, kterou jste vytvořili na hlavním serveru:

MariaDB [(none)]> použít mydb;MariaDB [mydb]> zobrazit tabulky;

V následujícím výstupu byste měli vidět tabulku produktů:

+-----------------+| Tables_in_mydb |+----------------+| produkty       |+----------------+

Gratulujeme! Vaše replikace MariaDB master-slave funguje podle očekávání. Nyní můžete snadno obnovit databázi v případě selhání. Začněte s replikací MariaDB master-slave ještě dnes s balíčkem VPS Hosting od Atlantic.Net.


Linux
  1. Jak nastavit Rsyslog Server na Ubuntu 18.04 LTS

  2. Jak nastavit MariaDB Galera Cluster na Ubuntu 20.04

  3. Nastavení serveru Rsyslog na Ubuntu 20.04 – Jak na to?

  1. Jak nastavit replikaci MySQL Master Slave Replication

  2. Jak nastavit server OpenVPN na Ubuntu 20.04

  3. Jak nainstalovat MariaDB na Ubuntu 22.04

  1. Jak nainstalovat MariaDB na Ubuntu 20.04

  2. Jak nastavit Jenkins Master and Slave na Ubuntu 18.04 LTS

  3. Jak nastavit replikaci Cassandra na Ubuntu 16.04