sql >> Databáze >  >> NoSQL >> MongoDB

Jak nastavit replikaci MySQL Master-Slave na Ubuntu 18.04

MySQL master-slave replikace je postup, který umožňuje replikaci nebo kopírování databázových souborů přes jeden nebo více uzlů v síti. Toto nastavení poskytuje redundanci a odolnost proti chybám, takže v případě selhání v hlavním uzlu , databáze lze stále obnovit v uzlu Slave . To dává uživatelům jistotu, že v žádném případě nebude vše ztraceno, protože repliku databází lze stále získat z jiného serveru.

V této příručce se naučíte, jak provést MySQL databáze Master-slave replikace na Ubuntu 18.04 systém.

Předpoklady

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

Hlavní server:10.128.0.28 Slave server:10.128.0.29 

Pojďme se nyní ponořit a podívat se, jak můžeme nakonfigurovat Master-slave nastavení replikace na Ubuntu .

Krok 1:Nainstalujte MySQL na hlavní a podřízené uzly

Ubuntu repozitáře obsahují verzi 5.7 MySQL . Chcete-li využít všech nových funkcí a vyhnout se potenciálním problémům, měli byste nainstalovat nejnovější verzi MySQL. Nejprve však aktualizujeme dva uzly pomocí následujícího příkazu apt.

Aktualizace $ sudo apt

Chcete-li nainstalovat MySQL na obou uzlech spusťte příkaz.

$ sudo apt install mysql-server mysql-client

Dále otevřete mysql konfigurační soubor.

$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

V Hlavním uzlu , přejděte a vyhledejte bind-address atribut, jak je uvedeno níže.

bind-address =127.0.0.1

Změňte adresu zpětné smyčky tak, aby odpovídala IP adrese hlavního uzlu .

bind-address =10.128.0.28

Dále zadejte hodnotu pro server-id atribut v [mysqld] sekce. Číslo, které zvolíte, by se nemělo shodovat s žádným jiným číslem serveru. Přiřaďme hodnotu 1 .

ID serveru =1

Na úplný konec konfiguračního souboru zkopírujte a vložte řádky níže.

log_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

Ukončete konfigurační soubor a restartujte službu MySQL, aby se změny projevily na hlavním uzlu.

$ sudo systemctl restart mysql

Chcete-li ověřit, zda server MySQL běží podle očekávání, zadejte příkaz.

$ sudo systemctl status mysql

Perfektní! Server MySQL běží podle očekávání!

Krok 2:Vytvořte nového uživatele pro replikaci na hlavním uzlu

V této části vytvoříme uživatele replikace v hlavním uzlu . Chcete-li toho dosáhnout, přihlaste se k serveru MySQL podle obrázku.

$ sudo mysql -u root -p

Dále pokračujte a proveďte níže uvedené dotazy, abyste vytvořili uživatele repliky a udělili přístup podřízenému replikačnímu zařízení. Nezapomeňte použít svou IP adresu.

mysql> CREATE USER 'replication_user'@'10.128.0.29 ' IDENTIFIED BY 'replica_password';mysql> UDĚLEJTE REPLIKACI SLAVE NA *.* TOMU 'replication_user '@'10.128.0.29 ';

Dále spusťte následující příkaz.

mysql> ZOBRAZIT STAV HLAVNÍHO\G

Výstup by měl být podobný tomu, co můžete vidět níže.

Buďte nadšení a všimněte si mysql-bin.000002 hodnotu a ID pozice 1643 . Tyto hodnoty budou klíčové při nastavování slave serveru .

Krok 3:Nakonfigurujte podřízený server MySQL

Vydejte se na podřízený server a jako jsme to udělali s hlavním serverem , otevřete konfigurační soubor MySQL.

$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

Stejně jako hlavní server , pokračujte v úpravě následujících řádků.

bind-address =10.128.0.29

Stejně jako dříve zadejte hodnotu pro server-id atribut v [mysqld] sekce. Tentokrát vyberte jinou hodnotu. Pojďme na 2 .

id serveru =2 

Znovu vložte řádky níže na úplný konec konfiguračního souboru.

log_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

Dále restartujte MySQL server na slave uzlu.

$ sudo systemctl restart mysql

Po dokončení uložte a ukončete textový editor

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

$ sudo mysql -u root -p

V tomto kroku budete muset provést nějakou konfiguraci, která umožní slave server pro připojení k hlavnímu serveru . Nejprve však zastavte podřízená vlákna, jak je znázorněno.

mysql> STOP SLAVE; 

Chcete-li povolit podřízený server replikovat Hlavní server , spusťte příkaz.

mysql> CHANGE MASTER TO MASTER_HOST ='10.128.0.28', MASTER_USER ='replication_user', MASTER_PASSWORD ='[email protected]', MASTER_LOG_FILE ='mysql-bin.000002', MASTER_LOG_POS =164   

Pokud jste dostatečně zapálení, zjistíte, že jsme použili mysql-bin.00002 ID hodnoty a pozice 1643 dříve zobrazené po vytvoření uživatele replikace slave.

Kromě toho byla použita IP adresa hlavního serveru, uživatel replikace a heslo.

Později začněte vlákno, které jste předtím zastavili.

mysql> START SLAVE;

Krok 4:Ověřte replikaci MySQL Master-Slave

Abychom zkontrolovali, zda nastavení skutečně funguje podle očekávání, vytvoříme novou databázi na hlavním serveru a zkontrolujeme, zda byla replikována na serveru MySQL Slave.

Přihlaste se do MySQL na hlavním serveru .

$ sudo mysql -u root -p

Vytvoříme testovací databázi. V tomto případě vytvoříme databázi s názvem replication_db .

mysql> CREATE DATABASE replication_db;

Nyní se přihlaste ke své instanci MySQL na slave serveru .

$ sudo mysql -u root -p

Nyní vypište databáze pomocí dotazu.

mysql> ZOBRAZIT DATABÁZE;

Všimnete si databáze, kterou jste vytvořili na masteru byl replikován na slave . Úžasný ! Vaše replikace MySQL Master-Slave funguje podle očekávání! Nyní si můžete být jisti, že v případě jakéhokoli selhání budou kopie databázových souborů replikovány na podřízený server.

Závěr

V této příručce jste se naučili, jak nastavit MySQL Master-slave nastavení replikace na Ubuntu 18.04 .


  1. Jak efektivně vyřešit problém související s mongoDB?

  2. MongoDB $first Aggregation Pipeline Operator

  3. MongoDB a složené primární klíče

  4. Meteor:nahrávání souboru z klienta do kolekce Mongo vs souborový systém vs GridFS