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ä.