How to Configure MySQL Master-Slave Replication on Ubuntu Linux
Tartalomjegyzék:
- Előfeltételek
- Telepítse a MySQL-t
- Konfigurálja a főkiszolgálót
- Konfigurálja a slave szervert
- Tesztelje a konfigurációt
- Következtetés
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.
A MySQL számos replikációs topológiát támogat, és a Master / Slave topológia 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.
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. Ugyanezek a lépések vonatkoznak a MariaDB-re.
Az ilyen típusú replikációs topológia leginkább az olvasott replikák telepítésére szolgál az olvasási méretarányhoz, az élő adatbázisok biztonsági mentéséből a katasztrófa utáni helyreállításhoz és az elemzési feladatokhoz.
Előfeltételek
Ebben a példában feltételezzük, hogy két Ubuntu 18.04 futó kiszolgáló van, amelyek privát hálózaton keresztül képesek kommunikálni egymással. Ha a tárhely szolgáltatója nem kínál 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 szereplő kiszolgálók a következő IP-kkel rendelkeznek:
Master IP: 192.168.121.190 Slave IP: 192.168.121.236
Telepítse a MySQL-t
Az Ubuntu 18.04 alapértelmezett tárolói tartalmazzák a MySQL 5.7 verzióját. Bármilyen probléma elkerülése érdekében a legjobb, ha ugyanazt a MySQL verziót telepíti mindkét szerverre.
Telepítse a MySQL-t a Master kiszolgálóra:
sudo apt-get update
sudo apt-get install mysql-server
Telepítse a MySQL-t a Slave-kiszolgálóra ugyanazokkal a parancsokkal:
sudo apt-get update
sudo apt-get install mysql-server
Konfigurálja a főkiszolgálót
Az első lépés a mester MySQL szerver konfigurálása. A következő változtatásokat hajtjuk végre:
- Állítsa be a MySQL szervert a magán IP-címen történő hallgatáshoz. Állítsa be az egyedi szerver azonosítót.. Engedélyezze a bináris naplózást
Ehhez nyissa meg a MySQL konfigurációs fájlt, és tegye vissza a hozzászólást, vagy állítsa be a következőket:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
mester: /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 192.168.121.190 server-id = 1 log_bin = /var/log/mysql/mysql-bin.log
Miután elkészült, indítsa újra a MySQL szolgáltatást, hogy a változások érvénybe lépjenek:
sudo systemctl restart mysql
A következő lépés egy új replikációs felhasználó létrehozása. Jelentkezzen be a MySQL szerverre root felhasználóként:
sudo mysql
A MySQL parancssorból futtassa a következő SQL lekérdezéseket, amelyek létrehozják a
replica
felhasználót és megadják a
REPLICATION SLAVE
jogosultságot a felhasználónak:
CREATE USER 'replica'@'192.168.121.236' IDENTIFIED BY 'replica_password';
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'192.168.121.236';
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: 629 Binlog_Do_DB: Binlog_Ignore_DB: Executed_Gtid_Set: 1 row in set (0.00 sec)
Vegye figyelembe a fájlnevet, a „mysql-bin.000001” és a „629” pozíciót. Ezekre az értékekre lesz szükség a slave kiszolgáló konfigurálásakor. Ezek az értékek valószínűleg különböznek a szerveren.
Konfigurálja a slave szervert
A fenti master kiszolgálóhoz hasonlóan a következő változtatásokat hajtjuk végre a slave kiszolgálón:
- Állítsa be a MySQL-kiszolgálót úgy, hogy hallgassa meg a magán IPSet-ben egy egyedi kiszolgáló-azonosítót
Nyissa meg a MySQL konfigurációs fájlt, és szerkessze a következő sorokat:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
slave: /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 192.168.121.236 server-id = 2 log_bin = /var/log/mysql/mysql-bin.log
Indítsa újra a MySQL szolgáltatást:
sudo systemctl restart mysql
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 MySQL shellbe:
sudo mysql
Először állítsa le a szolga szálakat:
STOP SLAVE;
Futtassa a következő lekérdezést, amely beállítja a rabszolgot a mester replikálására:
CHANGE MASTER TO
MASTER_HOST='192.168.121.190',
MASTER_USER='replica',
MASTER_PASSWORD='replica_password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=629;
Győződjön meg arról, hogy a helyes IP-címet, felhasználónevet és jelszót használja. 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.
Annak ellenőrzése érdekében, hogy minden a várt módon működik-e, létrehozunk 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 hozzon létre egy MySQL Master / Slave replikációt.
Ha bármilyen kérdése van, nyugodtan írjon megjegyzést.
ubuntu 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 (mariadb) mestert
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.







