Android

Hogyan állítsuk be a mysql (mariadb) mestert

How to Configure MySQL Master-Slave Replication on Ubuntu Linux

How to Configure MySQL Master-Slave Replication on Ubuntu Linux

Tartalomjegyzék:

Anonim

A MySQL replikáció az adatok másolása egy adatbázis-kiszolgálótól (master) egy vagy több szerverre (slave).

A MySQL számos replikációs topológiát támogat, a Master / Slave topológia pedig az egyik legismertebb topológia, amelyben az egyik adatbázis-kiszolgáló masterként működik, míg egy vagy több kiszolgáló slave-ként működik. Alapértelmezés szerint a replikáció aszinkron, ahol a mester az adatbázis módosításait leíró eseményeket küld a bináris naplójába, és a szolgak az események készenléti állapotát kérik.

Ebben az útmutatóban bemutatjuk, hogyan állíthatja be a MariaDB Master / Slave replikációt egy master és egy slave kiszolgálón a Debian 10 rendszeren. A MariaDB a MySQL alapértelmezett implementációja Debianon. Ugyanezek a lépések vonatkoznak az Oracle MySQL-re.

Az ilyen típusú replikációs topológia legjobban alkalmas az olvasott replikák telepítésére az olvasási méretezéshez, az élő adatbázisok biztonsági mentésének a katasztrófa utáni helyreállításához és az elemzési feladatokhoz.

Előfeltételek

Feltételezzük, hogy két kiszolgálója van a Debian 10 rendszert futtató számítógépen, amelyek egymással privát hálózaton keresztül kommunikálnak. Ha a tárhely szolgáltatója nem támogatja a magán IP-címeket, akkor használhatja a nyilvános IP-címeket és konfigurálhatja a tűzfalat, hogy csak a megbízható forrásokból engedélyezze a 3306-os port forgalmát.

A példában használt szerverek a következő IP-címekkel rendelkeznek:

Master IP: 10.10.8.12 Slave IP: 10.10.8.164

A MariaDB telepítése

Az alapértelmezett Debian 10 adattárak tartalmazzák a MariaDB 10.3 verzióját. A lehetséges problémák elkerülése érdekében a legjobb, ha ugyanazt a MariaDB verziót telepíti mindkét szerverre.

Telepítse a MariaDB-t mind a masterre, mind a slavere az alábbi parancsok kiadásával:

sudo apt-get update sudo apt-get install mariadb-server

A Master Server konfigurálása

Az első lépés a főkiszolgáló beállítása. A következő változtatásokat hajtjuk végre:

  • Állítsa be a MariaDB szervert a magán IP-címen történő hallgatáshoz. Állítsa be az egyedi kiszolgáló azonosítóját. Engedélyezze a bináris naplózást.

Nyissa meg a MariaDB konfigurációs fájlt és vonja vissza a hozzászólást, vagy állítsa be a következő sorokat:

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

bind-address = 10.10.8.12 server-id = 1 log_bin = /var/log/mysql/mysql-bin.log

Ha kész, mentse el a fájlt, és indítsa újra a MySQL szolgáltatást, hogy a változások érvénybe lépjenek:

sudo systemctl restart mariadb

A következő lépés egy új replikációs felhasználó létrehozása. Jelentkezzen be a MariaDB szerverre root felhasználóként:

sudo mysql

Futtassa a következő SQL lekérdezéseket egy replica nevű felhasználó létrehozásához és a REPLICATION SLAVE jogosultság megadásához a felhasználó számára:

CREATE USER 'replica'@'10.10.8.164' IDENTIFIED BY 'replica_password';

GRANT REPLICATION SLAVE ON *.* TO 'replica'@'10.10.8.164'; Feltétlenül módosítsa az IP-t a szolga IP-címmel. Megnevezheti a felhasználót a kívánt módon.

Míg a MySQL parancssorban van, hajtsa végre a következő parancsot, amely kinyomtatja a bináris fájlnevet és a helyet.

SHOW MASTER STATUS\G

*************************** 1. row *************************** File: mysql-bin.000001 Position: 328 Binlog_Do_DB: Binlog_Ignore_DB: 1 row in set (0.001 sec)

Vegye figyelembe a fájlnevet, a „mysql-bin.000001” és a „328” pozíciót. Ezek az értékek a slave kiszolgáló konfigurálásakor szükségesek, és valószínűleg különböznek a szerveren.

A Slave Server konfigurálása

A szolga szerveren ugyanazokat a változtatásokat hajtjuk végre, mint a főkiszolgálón:

  • Állítsa be a MySQL szervert a magán IP-címen történő hallgatáshoz. Állítsa be az egyedi kiszolgáló azonosítóját. Engedélyezze a bináris naplózást.

Nyissa meg a MariaDB konfigurációs fájlt, és szerkessze a következő sorokat:

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

bind-address = 10.10.8.164 server-id = 2 log_bin = /var/log/mysql/mysql-bin.log

Indítsa újra a MariaDB szolgáltatást:

sudo systemctl restart mariadb

A következő lépés a paraméterek konfigurálása, amelyeket a szolgakiszolgáló fog használni a főkiszolgálóhoz történő csatlakozáshoz. Bejelentkezés a MariaDB héjba:

sudo mysql

Először állítsa le a szolga szálakat:

STOP SLAVE;

Futtassa a következő lekérdezést a fő / szolga replikáció konfigurálásához:

CHANGE MASTER TO MASTER_HOST='10.10.8.12', MASTER_USER='replica', MASTER_PASSWORD='replica_password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=328;

Ellenőrizze, hogy a helyes IP-címet, felhasználónevet és jelszót használja-e. A naplófájl nevének és helyzetének meg kell egyeznie azokkal az értékekkel, amelyeket a főkiszolgálótól kapott.

Ha kész, indítsa el a slave szálakat.

START SLAVE;

Tesztelje a konfigurációt

Ezen a ponton rendelkeznie kell működő Master / Slave replikációs beállítással.

Hogy ellenőrizze, hogy minden megfelelően van-e beállítva, hozzon létre egy új adatbázist a főkiszolgálón:

sudo mysql

CREATE DATABASE replicatest;

Bejelentkezés a slave MySQL shellbe:

sudo mysql

Futtassa a következő parancsot az összes adatbázis felsorolásához:

SHOW DATABASES;

Észre fogja venni, hogy a főkiszolgálón létrehozott adatbázist a szolga replikálja:

+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | replicatest | | sys | +--------------------+ 5 rows in set (0.00 sec)

Következtetés

Ebben az oktatóanyagban megmutattuk, hogy létrehozott egy MariaDB Master / Slave replikációt a Debian 10-en.

Ha bármilyen kérdése van, nyugodtan írjon megjegyzést.

debian mysql mariadb