Kā iestatīt MySQL Master-Slave replikāciju RHEL 8


MySQL replikācija ir process, kurā datus no viena servera reāllaikā automātiski kopē vai pavairo uz citu dublējuma serveri. Replikācija nodrošina dublēšanos un kļūdu toleranci un nodrošina lietotājam mieru, ka pat pēc kļūmes galvenajā serverī datus joprojām var atgūt.

Šajā apmācībā jūs uzzināsiet, kā konfigurēt un iestatīt MySQL galvenā-verga replikāciju RHEL 8 Linux.

Iestatījumā mums būs divi serveri, kuros darbojas RHEL 8 ar šādām IP adresēm.

Master = 173.82.120.14
Slave  = 173.82.115.165

Tagad turpināsim un redzēsim, kā mēs varam konfigurēt MySQL Master-slave replicēšanas iestatījumus RHEL 8 Linux.

1. darbība: instalējiet MySQL Master un Slave Server

1. Jaunākā MySQL 8.x versija jau ir iekļauta RHEL 8 noklusējuma krātuvē, un to var instalēt, izmantojot šādu komandu yum.

# yum -y install @mysql

2. darbība: nodrošiniet MySQL drošību Master un Slave Server

Pēc instalēšanas jums tagad jāuzsāk tikko instalētais MySQL pakalpojums un jāpalaiž tas automātiski, katru reizi palaižot serveri. Tāpēc izmantojiet šādu komandu.

# systemctl enable mysqld
# systemctl start mysqld

Pēc tam jums ir jāaizsargā MySQL instalācija, palaižot drošības skriptu, kas nāk ar vairākām uz drošību balstītām darbībām, piemēram, saknes paroles iestatīšana, anonīmu lietotāju noņemšana, sakņu pieteikšanās attāla atturēšana, testa datu bāzes noņemšana un atkārtotas ielādes privilēģija.

# mysql_secure_installation

Turpiniet pārējo uzvedni un atbildiet uz Yes uz visiem jautājumiem, lai iestatītu serveri, ievērojot labāko drošības praksi.

3. darbība: MySQL Master Server konfigurēšana

Lai sāktu ar galvenā servera konfigurāciju, turpiniet un atveriet MySQL konfigurācijas failu, ierakstot šo komandu.

$ sudo vim /etc/my.cnf

Sadaļā mysqld pievienojiet rindas, kā parādīts zemāk.

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

Visbeidzot restartējiet MySQL pakalpojumu.

$ sudo systemctl restart mysqld

Tagad mēs izveidosim replikācijas lietotāju. Tāpēc piesakieties savā MySQL galvenajā serverī kā root lietotājs un norādiet paroli.

$ sudo mysql -u root -p

Tagad izpildiet šīs komandas, lai izveidotu replikas lietotāju, vienlaikus piešķirot vergam piekļuvi lietotājam. Atcerieties izmantot savu mašīnu IP adresi.

mysql> CREATE USER 'replica'@'173.82.115.165' IDENTIFIED BY 'strong_password';
mysql> GRANT REPLICATION SLAVE ON *.*TO 'replica'@'173.82.115.165';

Tagad jūs ierakstīsit šādu komandu, kas drukās bināro faila nosaukumu un pozīciju.

mysql> SHOW MASTER STATUS\G

Neaizmirstiet ņemt vērā iegūto faila nosaukumu msql-bin.000002 un tā pozīciju 939 .

4. darbība: MySQL Slave Server konfigurēšana

Tāpat kā meistara iestatīšanas procesā, mysql vergu konfigurācijas failā jāveic šādas izmaiņas.

$ sudo vim  /etc/my.cnf

Pievienojiet šādas rindas konfigurācijas faila sadaļā mysqld .

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

Restartējiet serveri.

$ sudo systemctl restart mysqld

Tagad nākamais solis ir konfigurēt vergu serveri, lai tas atkārtotos no galvenā servera. Piesakieties MySQL serverī.

$ sudo mysql -u root -p

Vispirms pārtrauciet replikācijas pavedienus.

mysql> STOP SLAVE;

Tagad izpildiet šādu vaicājumu, kas konfigurēs vergu replikācijai no galvenā servera.

mysql> CHANGE MASTER TO
    -> MASTER_HOST='173.82.120.14' ,
    -> MASTER_USER='replica' ,
    -> MASTER_PASSWORD='[email ' ,
    -> MASTER_LOG_FILE='mysql-bin.000002' ,
    -> MASTER_LOG_POS=939;

Pārliecinieties, vai izmantojat pareizu IP lietotājvārdu un paroli. Izmantojiet arī faila nosaukumu un pozīciju, ko saņēmāt no galvenā servera.

Visbeidzot, ierakstiet šādu komandu, lai sāktu vergu pavedienus.

mysql> START SLAVE;

5. darbība: MySQL Master-Slave replikācijas pārbaude

Šajā brīdī esat pabeidzis gan galvenā, gan vergu servera konfigurēšanu. Tagad mums jāpārbauda, vai konfigurācija darbojas un vai replikācija var notikt.

Lai to izdarītu, dodieties uz galveno serveri un piesakieties MySQL datu bāzes serverī.

$ sudo mysql -u root -p

Izveidojiet datu bāzes paraugu.

mysql> CREATE DATABASE replication_database;

Tagad dodieties uz Slave serveri un atkal piesakieties MySQL datu bāzes serverī.

$ sudo mysql -u root -p

Tagad uzskaitiet visas datu bāzes, izmantojot šādu komandu.

mysql> SHOW DATABASES;

Ja redzat izveidoto datu bāzi, darbojas MySQL Master-Slave Replication iestatīšana.

Replikācija ir diezgan vienkāršs process, ko var viegli izdarīt. Šajā rokasgrāmatā jūs uzzinājāt, kā jūs varat izveidot MySQL meistara replikāciju RHEL 8 Linux vergam.