Android

Kuinka konfiguroida mysql master

How to Setup Multinode Hadoop 2 on CentOS/RHEL Using VirtualBox

How to Setup Multinode Hadoop 2 on CentOS/RHEL Using VirtualBox

Sisällysluettelo:

Anonim

MySQL-replikointi on prosessi, jonka avulla voit kopioida tietoja automaattisesti yhdestä tietokantapalvelimesta yhteen tai useampaan palvelimeen.

MySQL tukee useita replikaatiotopologioita, joissa Master / Slave-topologia on yksi tunnetuimmista topologioista, jossa yksi tietokantapalvelin toimii isäntänä, kun taas yksi tai useampi palvelin toimii orjana. Oletuksena replikointi on asynkronista, jossa isäntä lähettää tapahtumia, jotka kuvaavat tietokannan muutoksia sen binaarilokiin, ja orjat pyytävät tapahtumia, kun ne ovat valmiita.

Tässä opetusohjelmassa selitetään, kuinka määrität MySQL Master / Slave -replikaation yhden isäntä- ja yhden orjapalvelimen kanssa CentOS 7: ssä. Samat vaiheet koskevat myös MariaDB: tä.

Tämäntyyppinen replikaatiotopologia sopii parhaiten luettujen replikoiden käyttöön lukemiseen, reaaliaikaisten tietokantojen varmuuskopiointiin katastrofien palautusta varten ja analysointityöhön.

edellytykset

Tässä esimerkissä oletamme, että sinulla on kaksi palvelinta, joissa on CentOS 7, ja jotka voivat kommunikoida keskenään yksityisen verkon kautta. Jos palveluntarjoajasi ei tarjoa yksityisiä IP-osoitteita, voit käyttää julkisia IP-osoitteita ja määrittää palomuurisi sallimaan liikenteen portissa 3306 vain luotettavista lähteistä.

Tämän esimerkin palvelimilla on seuraavat IP: t:

Master IP: 192.168.121.59 Slave IP: 192.168.121.14

Asenna MySQL

Oletusarvoiset CentOS 7 -rekisterit eivät sisällä MySQL-paketteja, joten asennamme MySQL heidän virallisesta Yum-arkistostaan. Asioiden välttämiseksi asennamme saman MySQL-version 5.7 molemmille palvelimille.

Asenna MySQL sekä Master- että Slave-palvelimille:

sudo yum localinstall sudo yum install mysql-community-server

Kun asennus on valmis, käynnistä MySQL-palvelu ja anna sen käynnistyä automaattisesti käynnistyksen yhteydessä:

sudo systemctl enable mysqld sudo systemctl start mysqld

Kun MySQL-palvelin käynnistyy ensimmäistä kertaa, MySQL-pääkäyttäjälle luodaan väliaikainen salasana. Löydä salasana seuraavalla grep-komennolla:

sudo grep 'temporary password' /var/log/mysqld.log

Suorita mysql_secure_installation komento asettaaksesi uusi pääsalasanasi ja parantaaksesi MySQL-ilmentymän turvallisuutta:

mysql_secure_installation

Kirjoita väliaikainen pääsalasana ja vastaa Y (kyllä) kaikkiin kysymyksiin.

Uuden salasanan on oltava vähintään 8 merkkiä pitkä ja sisältää vähintään yhden ison kirjaimen, yhden pienen kirjaimen, yhden numeron ja yhden erikoismerkin.

Määritä pääpalvelin

Ensin määritämme isäntä MySQL-palvelimen ja teemme seuraavat muutokset:

  • Aseta MySQL-palvelin kuuntelemaan yksityisellä IP: llä.Aseta yksilöivä palvelimen tunnus.Aktivoi binaarinen kirjaaminen.

Avaa MySQL-määritystiedosto ja lisää seuraavat rivit jakso:

sudo nano /etc/my.cnf Master: /etc/my.cnf

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

Kun olet valmis, käynnistä MySQL-palvelu uudelleen, jotta muutokset tulevat voimaan

sudo systemctl restart mysqld

Seuraava vaihe on luoda uusi replikointikäyttäjä. Kirjaudu sisään MySQL-palvelimeen pääkäyttäjänä:

mysql -uroot -p

Suorita MySQL-kehotteen sisällä seuraavat SQL-kyselyt, jotka luovat replica käyttäjän ja myöntävät käyttäjälle REPLICATION SLAVE -oikeuden:

CREATE USER 'replica'@'192.168.121.14' IDENTIFIED BY 'strong_password';

GRANT REPLICATION SLAVE ON *.* TO 'replica'@'192.168.121.14'; Varmista, että vaihdat IP: n slave IP-osoitteellasi. Voit nimetä käyttäjän haluamallasi tavalla.

Suorita vielä MySQL-kehotteen sisällä seuraava komento, joka tulostaa binaaritiedoston nimen ja sijainnin.

SHOW MASTER STATUS\G

*************************** 1. row *************************** File: mysql-bin.000001 Position: 1427 Binlog_Do_DB: Binlog_Ignore_DB: Executed_Gtid_Set: 1 row in set (0.00 sec)

Ota muistiin tiedostonimi, 'mysql-bin.000001' ja sijainti '1427'. Tarvitset nämä arvot määrittäessäsi orjapalvelinta. Nämä arvot ovat todennäköisesti erilaisia ​​palvelimellasi.

Määritä slave-palvelin

Kuten yllä olevassa isäntäpalvelimessa, teemme seuraavat muutokset orjapalvelimeen:

  • Aseta MySQL-palvelin kuuntelemaan yksityisessä IPSetissä yksilöllistä palvelintunnustaEnapauta binaarinen kirjaus

Avaa MySQL-määritystiedosto ja muokkaa seuraavia rivejä:

sudo nano /etc/my.cnf orja: /etc/my.cnf

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

Käynnistä MySQL-palvelu uudelleen:

sudo systemctl restart mysqld

Seuraava vaihe on määrittää parametrit, joita orjapalvelin käyttää yhteyden muodostamiseen isäntäpalvelimeen. Kirjaudu MySQL-kuoreen:

mysql -uroot -p

Pysäytä ensin orjalangat:

STOP SLAVE;

Suorita seuraava kysely, joka asettaa orjan replikoimaan isäntä:

CHANGE MASTER TO MASTER_HOST='192.168.121.59', MASTER_USER='replica', MASTER_PASSWORD='strong_password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=1427;

Varmista, että käytät oikeaa IP-osoitetta, käyttäjänimeä ja salasanaa. Lokitiedoston nimen ja sijainnin on oltava sama kuin pääpalvelimelta saamasi arvot.

Kun olet valmis, käynnistä orjalangat.

START SLAVE;

Testaa kokoonpano

Tässä vaiheessa sinulla pitäisi olla toimivat Master / Slave-replikointiasetukset.

Varmistamme, että kaikki toimii odotetulla tavalla luomalla pääpalvelimelle uuden tietokannan:

mysql -uroot -p

CREATE DATABASE replicatest;

Kirjaudu MySQL-palvelimen slaveen:

mysql -uroot -p

Suorita seuraava komento luetteloidaksesi kaikki tietokannat:

SHOW DATABASES;

Huomaat, että pääpalvelimella luoma tietokanta kopioidaan orjassa:

+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | replicatest | | sys | +--------------------+ 5 rows in set (0.00 sec)

johtopäätös

Tässä opetusohjelmassa olemme osoittaneet sinun luonevan MySQL Master / Slave -kopioinnin CentOS 7: lle.

Jätä kommentti, jos sinulla on kysyttävää.

sentos mysql mariadb