How to Configure MySQL Master-Slave Replication on Ubuntu Linux
Tartalomjegyzék:
- Előfeltételek
- A MariaDB telepítése
- A Master Server konfigurálása
- A Slave Server konfigurálása
- Tesztelje a konfigurációt
- Következtetés
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.
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 mariadbAz Európai Unió trösztellenes szabályozója teljesen aggodalmát fejezi ki amiatt, hogy az Oracle átvette a MySQL-t, a Widenius szerint februárban elhagyta a Sunot. A MySQL-nek más otthonra van szüksége, mint az Oracle, ahol nincs olyan összeférhetetlenség, hogy hogyan, vagy ha a MySQL-t tovább kell fejleszteni, írta Widenius. A cég, a Monty Program AB fejlesztette ki a MySDB-nek a MariaDB-t.
A legfontosabb cél az, hogy otthont találjon az Oracle-nek a MySQL-n kívül, ahol az adatbázis fejleszthető és versenyezhet a meglévő termékekkel, beleértve az Oracle-t Florian Mueller , egy korábbi MySQL részvényes, aki jelenleg a Monty Program AB-val dolgozik ebben a kérdésben.
Hogyan állítsuk be a mysql mestert
A MySQL replikáció egy olyan folyamat, amely lehetővé teszi az adatok automatikus átmásolását egy adatbázis-kiszolgálóról egy vagy több kiszolgálóra. Ebben az oktatóanyagban elmagyarázzuk, hogyan állítsunk be egy MySQL Master / Slave replikációt egy master és egy slave kiszolgálóval a CentOS 7 rendszeren.
Hogyan állítsuk be a mysql mestert
A MySQL replikáció egy olyan folyamat, amely lehetővé teszi egy adatbázis-kiszolgáló adatainak automatikus másolását egy vagy több kiszolgálóra. Ez az oktatóanyag egy alapvető példát mutat a MySQL Master / Slave replikációra egy master és egy slave kiszolgálón az Ubuntu 18.04-en.







