Bii o ṣe le Ṣeto Iṣatunṣe Olukọni-Ẹru MySQL lori RHEL 8


Ifiwera MySQL jẹ ilana kan nibiti a ti daakọ data tabi aifọwọyi lati ọdọ olupin laifọwọyi si olupin afẹyinti miiran ni akoko gidi. Atunse n pese apọju ati ifarada ẹbi o fun olumulo ni alaafia ti ọkan pe paapaa lẹhin ikuna ninu olupin oluwa, data tun le gba pada.

Ninu ẹkọ yii, iwọ yoo kọ bi o ṣe le tunto ati ṣeto atunto oluwa-ẹrú MySQL kan lori Linux RHEL 8.

Ninu iṣeto, a yoo ni awọn olupin meji ti n ṣiṣẹ RHEL 8 pẹlu awọn adirẹsi IP atẹle.

Master = 173.82.120.14
Slave  = 173.82.115.165

Jẹ ki a tẹsiwaju ki a wo bii a ṣe le tunto iṣeto ẹda ẹda MySQL Master-ẹrú lori RHEL 8 Linux.

Igbesẹ 1: Fi MySQL sori Master ati Server Slave

1. Ẹya tuntun ti MySQL 8.x ti wa tẹlẹ ninu ibi ipamọ aiyipada ti RHEL 8 ati pe o le fi sii nipa lilo pipaṣẹ yum atẹle.

# yum -y install @mysql

Igbesẹ 2: Ni aabo MySQL lori Titunto si ati Server Slave

Lẹhin fifi sori ẹrọ, o yẹ ki o bẹrẹ bayi iṣẹ MySQL ti o ṣẹṣẹ fi sii ki o jẹ ki o bẹrẹ laifọwọyi ni gbogbo igba ti o ba bẹrẹ olupin naa. Nitorina, lo pipaṣẹ atẹle.

# systemctl enable mysqld
# systemctl start mysqld

Nigbamii ti, o nilo lati ni aabo fifi sori MySQL rẹ nipasẹ ṣiṣe iwe afọwọkọ aabo ti o wa pẹlu ọpọlọpọ awọn iṣẹ ti o da lori aabo gẹgẹbi tito ọrọigbaniwọle gbongbo, yiyọ awọn olumulo alailorukọ, ko gba wiwọle wọle root latọna jijin, yọ ibi ipamọ data idanwo kuro ki o tun gbe ẹbun pada.

# mysql_secure_installation

Tẹsiwaju pẹlu iyoku iyara ati idahun Bẹẹni si gbogbo awọn ibeere nitorinaa ṣeto olupin si awọn iṣe aabo to dara julọ.

Igbesẹ 3: Tito leto Server Server MySQL

Lati bẹrẹ pẹlu iṣeto olupin olupin, tẹsiwaju ki o ṣii faili iṣeto MySQL nipa titẹ pipaṣẹ wọnyi.

$ sudo vim /etc/my.cnf

Ninu apakan mysqld , ṣafikun awọn ila bi a ṣe han ni isalẹ.

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

Ni ipari, tun bẹrẹ iṣẹ MySQL.

$ sudo systemctl restart mysqld

Bayi a yoo ṣẹda olumulo ẹda kan. Nitorinaa, wọle si olupin oluwa MySQL rẹ bi olumulo gbongbo ati pese ọrọ igbaniwọle.

$ sudo mysql -u root -p

Bayi ṣiṣe awọn ofin wọnyi lati ṣẹda ẹda ẹda lakoko ti o jẹ ki o fun ọmọ-ọdọ ni iraye si olumulo kanna. Ranti lati lo awọn ẹrọ IP adiresi rẹ.

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

Bayi, iwọ yoo tẹ iru aṣẹ wọnyi ti yoo tẹ orukọ faili ati ipo alakomeji tẹ.

mysql> SHOW MASTER STATUS\G

Ranti lati ṣe akiyesi orukọ faili ti o yorisi msql-bin.000002 ati ipo rẹ 939 .

Igbesẹ 4: Tito leto Server Server MySQL

Gẹgẹ bi ilana ti iṣeto oluwa, o yẹ ki o ṣe awọn ayipada wọnyi si faili iṣeto mysql mysql.

$ sudo vim  /etc/my.cnf

Fi awọn ila wọnyi si ni faili iṣeto labẹ apakan mysqld .

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

Tun olupin bẹrẹ.

$ sudo systemctl restart mysqld

Bayi igbesẹ ti o tẹle ni lati tunto olupin ẹrú lati tun ṣe lati ọdọ olupin Titunto. Wọle si olupin MySQL.

$ sudo mysql -u root -p

Ni akọkọ, da awọn okun atunse.

mysql> STOP SLAVE;

Bayi, ṣiṣe ibeere atẹle ti yoo tunto ẹrú lati tun ṣe lati ọdọ olupin Titunto.

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;

Rii daju pe o nlo orukọ olumulo ati ọrọ igbaniwọle IP to tọ. Pẹlupẹlu, lo orukọ faili ati ipo ti o gba lati ọdọ olupin oluwa.

Lakotan, tẹ aṣẹ atẹle lati bẹrẹ awọn okun ẹrú.

mysql> START SLAVE;

Igbesẹ 5: Idanwo MySQL Master-Slave Replication

Ni aaye yii, o ti pari iṣeto ti oluwa ati awọn olupin ẹrú mejeeji. A nilo lati ṣayẹwo bayi pe iṣeto naa n ṣiṣẹ ati ti atunse le waye.

Lati ṣe eyi, jade si olupin oluwa ki o wọle si olupin data MySQL.

$ sudo mysql -u root -p

Ṣẹda ibi ipamọ data apẹẹrẹ kan.

mysql> CREATE DATABASE replication_database;

Bayi jade lọ si olupin Slave ati lẹẹkansi, wọle si olupin ibi ipamọ data MySQL.

$ sudo mysql -u root -p

Bayi ṣe atokọ gbogbo awọn apoti isura data nipa lilo pipaṣẹ atẹle.

mysql> SHOW DATABASES;

Ti o ba wo ibi ipamọ data ti a ṣẹda, lẹhinna iṣeto Ifiparọ Ọga MySQL Titunto-Slave ṣiṣẹ.

Atunse jẹ ilana ti o rọrun to rọrun ti o le ṣee ṣe ni rọọrun. Ninu itọsọna yii, o ti kọ bii o ṣe le ṣẹda ẹda ti oluwa MySQL lati ṣe ẹru ni Linux RHEL 8.