Android

Hogyan állítsuk be a mysql mestert

MySQL Tutorial for Beginners [2019] - Full Course

MySQL Tutorial for Beginners [2019] - Full Course

Tartalomjegyzék:

Anonim

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.

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.

Ebben az oktatóanyagban elmagyarázza, hogyan állíthat be MySQL Master / Slave replikációt egy master és egy slave kiszolgálón a CentOS 7 rendszeren. 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 CentOS 7 operációs rendszert futtató kiszolgálója van, amelyek privát hálózaton keresztül képesek kommunikálni egymással. Ha a tárhely szolgáltatója nem biztosít saját 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.59 Slave IP: 192.168.121.14

Telepítse a MySQL-t

Az alapértelmezett CentOS 7 adattárak nem tartalmaznak MySQL csomagokat, így a MySQL-t a hivatalos Yum-tárolóból telepítjük. A problémák elkerülése érdekében ugyanazt a MySQL 5.7-es verziót telepítjük mindkét szerverre.

Telepítse a MySQL-t a Master és a Slave szerverekre is:

sudo yum localinstall sudo yum install mysql-community-server

Miután a telepítés befejeződött, indítsa el a MySQL szolgáltatást, és engedélyezze, hogy automatikusan induljon a rendszerindításkor:

sudo systemctl enable mysqld sudo systemctl start mysqld

A MySQL szerver első indításakor ideiglenes jelszó jön létre a MySQL root felhasználó számára. A jelszó megkereséséhez használja a következő grep parancsot:

sudo grep 'temporary password' /var/log/mysqld.log

Futtassa a mysql_secure_installation parancsot az új root jelszó beállításához és a MySQL példány biztonságának javításához:

mysql_secure_installation

Írja be az ideiglenes root jelszót, és válaszoljon Y (igen) minden kérdésre.

Az új jelszónak legalább 8 karakter hosszúnak kell lennie, és tartalmaznia kell legalább egy nagybetűt, egy kisbetűt, egy számot és egy speciális karaktert.

Konfigurálja a főkiszolgálót

Először konfiguráljuk a fő MySQL szervert, és 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 kiszolgáló azonosítóját. Engedélyezze a bináris naplózást.

Ehhez nyissa meg a MySQL konfigurációs fájlt, és adja hozzá a következő sorokat a szakasz:

sudo nano /etc/my.cnf mester: /etc/my.cnf

bind-address = 192.168.121.59 server-id = 1 log_bin = mysql-bin

Miután kész, indítsa újra a MySQL szolgáltatást, hogy a változások érvénybe lépjenek

sudo systemctl restart mysqld

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:

mysql -uroot -p

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.14' IDENTIFIED BY 'strong_password';

GRANT REPLICATION SLAVE ON *.* TO 'replica'@'192.168.121.14'; 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: 1427 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 az „1427” 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/my.cnf slave: /etc/my.cnf

bind-address = 192.168.121.14 server-id = 2 log_bin = mysql-bin

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

sudo systemctl restart mysqld

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:

mysql -uroot -p

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.59', MASTER_USER='replica', MASTER_PASSWORD='strong_password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=1427;

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.

START SLAVE;

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:

mysql -uroot -p

CREATE DATABASE replicatest;

Bejelentkezés a slave MySQL shellbe:

mysql -uroot -p

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 MySQL Master / Slave replikációt a CentOS 7-en.

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

centos mysql mariadb