MySQL-replikoinnin määrittäminen RHEL:ssä, Rockyssa ja AlmaLinuxissa


Tietojen replikointi on prosessi, jossa tietoja kopioidaan useille palvelimille tietojen saatavuuden parantamiseksi ja sovelluksen luotettavuuden ja suorituskyvyn parantamiseksi. MySQL-replikaatiossa tiedot kopioidaan tietokannasta pääpalvelimelta muihin solmuihin reaaliajassa tietojen johdonmukaisuuden varmistamiseksi sekä varmuuskopion ja redundanssin varmistamiseksi.

Tässä oppaassa näytämme, kuinka voit määrittää MySQL (Master-Slave) -replikoinnin RHEL-pohjaisissa jakeluissa, kuten CentOS, >Fedora, Rocky Linux ja AlmaLinux.

MySQL-replikoinnin asetukset

Tässä on MySQL-replikointilaboratoriomme asetukset.

MySQL Master - 10.128.0.14
MySQL Slave - 10.128.15.211

Aloitetaan…

Vaihe 1: Asenna MySQL isäntä- ja orjapalvelimeen

Aloitamme asentamalla MySQL-tietokannan sekä isäntä- että orja-palvelimille.

sudo dnf install @mysql

Kun asennus on valmis, aloita tietokantapalvelin.

sudo systemctl start mysqld

Ota sitten käyttöön järjestelmän käynnistys tai uudelleenkäynnistyksen yhteydessä.

sudo systemctl enable mysqld

Varmista tämän jälkeen, että MySQL-tietokantapalvelin toimii kuvan mukaisesti:

sudo systemctl status mysqld

Vaihe 2: Suojaa MySQL isäntä- ja orjapalvelimella

Seuraava askel on suojata MySQL-tietokanta sekä pääpalvelimilla että orjapalvelimilla. Tämä johtuu siitä, että oletusasetukset ovat epävarmoja ja sisältävät porsaanreikiä, joita hakkerit voivat helposti hyödyntää.

Joten kovettaaksesi MySQL:n, suorita komento:

sudo mysql_secure_installation

Ensin sinun on asetettava MySQL-pääkäyttäjän salasana. Varmista, että annat vahvan pääkäyttäjän salasanan, jossa on mieluiten yli 8 merkkiä, jotka ovat sekoitus isoja, pieniä kirjaimia, erikoismerkkejä ja numeerisia merkkejä.

Muuta tietokantapalvelin suositeltuihin asetuksiin kirjoittamalla loput kehotteet Y.

Kun olet asentanut ja vahvistanut MySQL:n pää- ja orjasolmussa, seuraavaksi on määritettävä pääsolmu.

Vaihe 3: Määritä pääsolmu (palvelin)

Seuraava vaihe on määrittää Master-solmu ja myöntää orjasolmulle pääsy siihen. Ensin meidän on muokattava mysql-server.cnf-määritystiedostoa.

sudo vim /etc/my.cnf.d/mysql-server.cnf

Lisää seuraavat rivit [mysqld]-osion alle.

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

Kun olet valmis, tallenna muutokset ja poistu. Käynnistä sitten MySQL-palvelin uudelleen.

sudo sysemctl restart mysqld

Kirjaudu seuraavaksi MySQL-kuoreen.

sudo mysql -u root -p

Suorita seuraavat komennot luodaksesi tietokannan käyttäjän, jota käytetään isäntä- ja orjalaitteen sitomiseen replikointia varten.

mysql> CREATE USER 'replica'@'10.128.15.211' IDENTIFIED BY 'P@ssword321';
mysql> GRANT REPLICATION SLAVE ON *.*TO 'replica'@'10.128.15.211';

Ota muutokset käyttöön ja poistu MySQL-palvelimesta.

mysql> FLUSH PRIVILEGES;
mysql> EXIT;

Tarkista pääkäyttäjän tila.

mysql> SHOW MASTER STATUS\G

Huomioi tiedostonimi ja sijainti. Tarvitset tätä myöhemmin, kun määrität orjan replikointia varten. Meidän tapauksessamme tiedostonimi on mysql-bin.000001 ja sijainti 1232.

Vaihe 4: Määritä orjasolmu (palvelin)

Siirry nyt takaisin Slave-solmuun. Muokkaa mysql-server.cnf-määritystiedostoa vielä kerran.

sudo vim /etc/my.cnf.d/mysql-server.cnf

Liitä nämä rivit kuten ennenkin [mysqld]-osion alle. Muuta IP-osoite vastaamaan orjan IP-osoitetta. Määritä myös eri palvelintunnus. Tässä olemme määrittäneet sille arvon 2.

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

Tallenna muutokset ja poistu tiedostosta. Käynnistä sitten tietokantapalvelin uudelleen.

sudo systemctl restart mysqld

Jos haluat määrittää Slave-solmun replikoitumaan pääsolmusta, kirjaudu sisään orjan MySQL-palvelimeen.

sudo mysql -u root -p

Ensinnäkin, lopeta replikointisäikeet:

mysql> STOP SLAVE;

Suorita sitten seuraava komento määrittääksesi orjasolmun replikoimaan tietokannat isäntälaitteesta.

mysql> CHANGE MASTER TO
     MASTER_HOST='10.128.0.14' ,
     MASTER_USER='replica' ,
     MASTER_PASSWORD='P@ssword321' ,
     MASTER_LOG_FILE='mysql-bin.000001' ,
     MASTER_LOG_POS=1232;

Huomaa, että MASTER_LOG_FILE- ja MASTER_LOG_POS-liput vastaavat tiedosto- ja Sijainti-arvoja Master-solmun lopussa. Vaihe 1.

MASTER_HOST, MASTER_USER, ja MASTER_PASSWORD vastaavat pää IP-osoitetta, replikointikäyttäjää ja toisinnuskäyttäjän salasanaa.

Aloita sitten orjareplikointisäikeet:

mysql> START SLAVE;

Vaihe 4: Testaa MySQL Master-Slave -replikaatiota

Nyt testataksesi, toimiiko replikointi isäntä- ja orjasolmun välillä, kirjaudu sisään pääsolmun MySQL-tietokantapalvelimeen:

sudo mysql -u root -p

Luo testitietokanta. Tässä testitietokantaamme kutsutaan nimellä replication_db.

mysql> CREATE DATABASE replication_db;
Verify the existence of the database.
mysql> SHOW DATABASES;

Siirry nyt orjasolmuun, kirjaudu sisään MySQL-palvelimelle ja varmista, että replication_db-tietokanta on olemassa. Alla olevasta tuloksesta voimme nähdä, että tietokanta on läsnä. Tämä on vahvistus siitä, että replikointi on tapahtunut isäntäsolmusta orjasolmuun.

mysql> SHOW DATABASES;

Siinä se, olemme onnistuneesti osoittaneet, kuinka voit määrittää MySQL-isäntä-orja-replikointimallin, joka voi replikoida tietokantoja pääsolmusta orjasolmuun.