Kif Twaqqaf MySQL Master-Slave Replication fuq RHEL 8


MySQL Replication huwa proċess fejn id-dejta minn server wieħed tiġi kkupjata jew replikata awtomatikament fuq server backup ieħor f'ħin reali. Ir-replikazzjoni tipprovdi redundancy u tolleranza għall-ħsarat u tagħti paċi tal-moħħ lill-utent li anke wara falliment fis-server prinċipali, id-data xorta tista 'tiġi rkuprata.

F'dan it-tutorja, int se titgħallem kif tikkonfigura u twaqqaf replikazzjoni master-slave MySQL fuq RHEL 8 Linux.

Fis-setup, se jkollna żewġ servers li jmexxu RHEL 8 bl-indirizzi IP li ġejjin.

Master = 173.82.120.14
Slave  = 173.82.115.165

Ejja issa nipproċedu u naraw kif nistgħu nikkonfiguraw is-setup tar-replikazzjoni MySQL Master-slave fuq RHEL 8 Linux.

Pass 1: Installa MySQL fuq Master u Slave Server

1. L-aħħar verżjoni tal-MySQL 8.x hija diġà inkluża fir-repożitorju default ta 'RHEL 8 u tista' tinstallaha billi tuża l-kmand yum li ġej.

# yum -y install @mysql

Pass 2: Sikura MySQL fuq Master u Slave Server

Wara l-installazzjoni, issa għandek tibda s-servizz MySQL li għadek kif installajt u tagħmlu jibda awtomatikament kull darba li tibda s-server. Għalhekk, uża l-kmand li ġej.

# systemctl enable mysqld
# systemctl start mysqld

Sussegwentement, għandek bżonn tiżgura l-installazzjoni MySQL tiegħek billi tħaddem l-iskript tas-sigurtà li jiġi ma 'diversi operazzjonijiet ibbażati fuq is-sigurtà bħall-issettjar tal-password tal-għeruq, it-tneħħija ta' utenti anonimi, ma tħallix il-login tal-għeruq mill-bogħod, neħħi d-database tat-test u l-privileġġ tal-ikkargar mill-ġdid.

# mysql_secure_installation

Ipproċedi bil-bqija tal-pront u wieġeb Iva għall-mistoqsijiet kollha sabiex waqqaf is-server għall-aħjar prattiki tas-sigurtà.

Pass 3: Konfigurazzjoni tal-MySQL Master Server

Biex tibda bil-konfigurazzjoni tas-server Master, ipproċedi u tiftaħ il-fajl tal-konfigurazzjoni MySQL billi ttajpja l-kmand li ġej.

$ sudo vim /etc/my.cnf

Fit-taqsima mysqld, waħħal il-linji kif muri hawn taħt.

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

Fl-aħħarnett, ibda mill-ġdid is-servizz MySQL.

$ sudo systemctl restart mysqld

Issa se noħolqu utent ta 'replikazzjoni. Għalhekk, idħol fis-server prinċipali MySQL tiegħek bħala l-utent għerq u agħti l-password.

$ sudo mysql -u root -p

Issa mexxi l-kmandi li ġejjin biex toħloq l-utent replika filwaqt li fl-istess ħin tagħti aċċess lill-iskjav lill-utent. Ftakar li tuża l-indirizz IP tal-magni tiegħek.

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

Issa, inti ser ittajpja l-kmand li ġej li se tipprintja l-isem tal-fajl binarju u l-pożizzjoni.

mysql> SHOW MASTER STATUS\G

Ftakar li tieħu nota tal-isem tal-fajl li jirriżulta msql-bin.000002 u l-pożizzjoni tiegħu 939.

Pass 4: Konfigurazzjoni tal-MySQL Slave Server

Eżatt bħall-proċess tat-twaqqif tal-kaptan, għandek tagħmel il-bidliet li ġejjin fil-fajl tal-konfigurazzjoni tal-iskjavi mysql.

$ sudo vim  /etc/my.cnf

Ehmeż il-linji li ġejjin fil-fajl tal-konfigurazzjoni taħt it-taqsima mysqld.

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

Ibda mill-ġdid is-server.

$ sudo systemctl restart mysqld

Issa l-pass li jmiss huwa li tikkonfigura s-server slave biex jirreplika mis-server Master. Idħol fis-server MySQL.

$ sudo mysql -u root -p

L-ewwel, waqqaf il-ħjut tar-replikazzjoni.

mysql> STOP SLAVE;

Issa, mexxi l-mistoqsija li ġejja li se tikkonfigura l-iskjav biex jirreplika mis-server Master.

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;

Kun żgur li qed tuża l-username u l-password tal-IP korretti. Ukoll, uża l-isem tal-fajl u l-pożizzjoni li ksibt mis-server prinċipali.

Fl-aħħarnett, ittajpja l-kmand li ġej biex tibda l-ħjut slave.

mysql> START SLAVE;

Pass 5: Ittestjar MySQL Master-Slave Replikazzjoni

F'dan il-punt, tkun lestejt il-konfigurazzjoni kemm tas-servers master kif ukoll slave. Issa rridu nivverifikaw jekk il-konfigurazzjoni tkunx qed taħdem u jekk ir-replikazzjoni tistax isseħħ.

Biex tagħmel dan, oħroġ lejn is-server prinċipali u idħol fis-server tad-database MySQL.

$ sudo mysql -u root -p

Oħloq database kampjun.

mysql> CREATE DATABASE replication_database;

Issa oħroġ lejn is-server Slave u għal darb'oħra, idħol fis-server tad-database MySQL.

$ sudo mysql -u root -p

Issa elenka d-databases kollha billi tuża l-kmand li ġej.

mysql> SHOW DATABASES;

Jekk tara d-database maħluqa, allura s-setup MySQL Master-Slave Replication taħdem.

Ir-replikazzjoni hija proċess pjuttost sempliċi li jista 'jsir faċilment. F'din il-gwida, tgħallimt kif tista 'toħloq replikazzjoni ta' kaptan MySQL għal skjav f'RHEL 8 Linux.