Android

Hogyan állítsuk be a mysql 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ó 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.

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:

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 mariadb