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.