MySQL Master-Slave-replikoinnin asentaminen Ubuntu 18.04: een


MySQL-isäntä-orja-replikointi on menettely, jonka avulla tietokantatiedostot voidaan replikoida tai kopioida verkon yhden tai useamman solmun yli. Tämä asetus tarjoaa redundanssin ja vikasietoisuuden siten, että Master-solmun vikatilanteessa tietokannat voidaan silti palauttaa Slave-solmuun. Tämä antaa käyttäjille mielenrauhan, että kaikki eivät häviä missään tapauksessa, koska tietokantojen kopio voidaan silti noutaa toisesta palvelimesta.

Tässä oppaassa opit suorittamaan MySQL-tietokannan Master-slave-replikoinnin Ubuntu 18.04 -järjestelmässä.

Asennuksessa meillä on kaksi palvelinta, joissa on Ubuntu 18.04 seuraavilla IP-osoitteilla.

Master server: 10.128.0.28
Slave server: 10.128.0.29

Sukelletaan nyt sisään ja katsotaan, kuinka voimme määrittää Master-slave-replikointiasetukset Ubuntussa.

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

Ubuntu-arkistot sisältävät MySQL: n version 5.7. Asenna uusin MySQL-versio, jotta voit hyödyntää kaikkia uusia ominaisuuksia ja välttää mahdollisia ongelmia. Mutta ensin päivitämme kaksi solmua seuraavalla apt-komennolla.

$ sudo apt update

Asenna MySQL molempiin solmuihin suorittamalla komento.

$ sudo apt install mysql-server mysql-client

Avaa seuraavaksi mysql-määritystiedosto.

$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

Vieritä pääsolmussa bind-address -attribuuttia alla olevan kuvan mukaisesti.

bind-address 	 =127.0.0.1

Muuta loopback-osoite vastaamaan pääsolmun IP-osoitetta.

bind-address  	=10.128.0.28

Määritä seuraavaksi arvo server-id -määritteelle [mysqld] -osiossa. Valitsemasi numeron ei pitäisi vastata mitään muuta palvelimen tunnistenumeroa. Määritetään arvo 1 .

server-id	 =1

Kopioi ja liitä alla olevat rivit määritystiedoston loppuun.

log_bin = /var/log/mysql/mysql-bin.log
log_bin_index =/var/log/mysql/mysql-bin.log.index
relay_log = /var/log/mysql/mysql-relay-bin
relay_log_index = /var/log/mysql/mysql-relay-bin.index

Poistu määritystiedostosta ja käynnistä MySQL-palvelu uudelleen, jotta muutokset tulevat voimaan pääsolmussa.

$ sudo systemctl restart mysql

Varmista, että MySQL-palvelin toimii odotetulla tavalla, antamalla komento.

$ sudo systemctl status mysql

Täydellinen! MySQL-palvelin toimii odotetusti!

Vaihe 2: Luo uusi käyttäjä replikoitavaksi pääsolmulle

Tässä osiossa aiomme luoda replikointikäyttäjän pääsolmuun. Tämän saavuttamiseksi kirjaudu sisään MySQL-palvelimeen kuvan osoittamalla tavalla.

$ sudo mysql -u root -p

Seuraavaksi, jatka ja suorita alla olevat kyselyt luoda replikan käyttäjä ja myöntää pääsy replikoorjaan. Muista käyttää IP-osoitettasi.

mysql> CREATE USER 'replication_user'@'10.128.0.29' IDENTIFIED BY 'replica_password';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'replication_user '@'10.128.0.29';

Suorita sitten seuraava komento.

mysql> SHOW MASTER STATUS\G

Tuloksen tulisi olla samanlainen kuin mitä näet alla.

Ole innokas ja huomioi mysql-bin.000002 -arvo ja Position ID 1643 . Nämä arvot ovat ratkaisevia orjapalvelinta asetettaessa.

Vaihe 3: Määritä MySQL Slave Server

Mene ulos orjapalvelimelle ja avaa MySQL-määritystiedosto, kuten teimme Master-palvelimen kanssa.

$ sudo vim  /etc/mysql/mysql.conf.d/mysqld.cnf

Aivan kuten pääpalvelin, jatka seuraavien rivien muokkaamista.

bind-address           = 10.128.0.29

Määritä kuten aiemmin, arvo server-id -määritteelle [mysqld] -osiossa. Valitse tällä kertaa toinen arvo. Mennään 2 .

server-id		=2 

Liitä uudelleen alla olevat rivit määritystiedoston loppuun.

log_bin = /var/log/mysql/mysql-bin.log
log_bin_index =/var/log/mysql/mysql-bin.log.index
relay_log = /var/log/mysql/mysql-relay-bin
relay_log_index = /var/log/mysql/mysql-relay-bin.index

Käynnistä seuraavaksi MySQL-palvelin orjasolmussa.

$ sudo systemctl restart mysql

Kun olet valmis, tallenna ja poistu tekstieditorista

Kirjaudu seuraavaksi MySQL-kuoreen kuvan osoittamalla tavalla.

$ sudo mysql -u root -p

Tässä vaiheessa sinun on tehtävä jonkinlainen kokoonpano, jonka avulla orjapalvelin voi muodostaa yhteyden pääpalvelimeen. Mutta ensin pysäytä orjalangat kuvan mukaisesti.

mysql> STOP SLAVE; 

Anna orjapalvelimen replikoida pääpalvelinta suorittamalla komento.

mysql> CHANGE MASTER TO MASTER_HOST ='10.128.0.28', MASTER_USER ='replication_user', MASTER_PASSWORD ='[email ', MASTER_LOG_FILE = 'mysql-bin.000002', MASTER_LOG_POS = 1643;

Jos olet tarpeeksi innokas, huomaat, että olemme käyttäneet mysql-bin.00002 -arvoa ja sijaintitunnusta 1643 , jotka näkyivät aiemmin orjareplikaation käyttäjän luomisen jälkeen.

Lisäksi on käytetty pääpalvelimen IP-osoitetta, replikoinnin käyttäjää ja salasanaa.

Käynnistä myöhemmin aiemmin keskeytetty säike.

mysql> START SLAVE;

Vaihe 4: Tarkista MySQL-isäntä-orja-replikointi

Jos haluat tarkistaa, toimiiko asennus todella odotetusti, aiomme luoda uuden tietokannan masteriin ja tarkistaa, onko se kopioitu MySQL Slave -palvelimelle.

Kirjaudu MySQL: ään Master-palvelimella.

$ sudo mysql -u root -p

Luodaan testitietokanta. Tässä tapauksessa luomme tietokannan nimeltä replication_db.

mysql> CREATE DATABASE replication_db;

Kirjaudu nyt MySQL-ilmentymään orjapalvelimessa.

$ sudo mysql -u root -p

Luettele nyt tietokannat kyselyn avulla.

mysql> SHOW DATABASES;

Huomaat, että isäntälaitteelle luomasi tietokanta on replikoitu orjassa. Mahtavaa! MySQL Master-slave -replikaatio toimii odotetusti! Voit nyt olla varma, että vikojen sattuessa kopiot tietokantatiedostoista kopioidaan orjapalvelimelle.

Tässä oppaassa opit määrittämään MySQL Master-slave -replikointiasetukset Ubuntu 18.04: ssä.