Hoe u hoë beskikbaarheid kan skep met MySQL-replikasie op ‘n Ubuntu 18.04 VPS of ‘n toegewyde bediener

inleiding

Hoë beskikbaarheid met betrekking tot ‘n databasis beteken dat die betrokke databasis die foute van die gasheer kan hanteer. Dit is ook belangrik dat die databasis kan herstel van die foute van die MySQL, die bedryfstelsel of die hardeware-instandhouding wat andersins ‘n stilstand kan veroorsaak..


Oplossings met ‘n hoë beskikbaarheid hang af van die tipe toepassing wat u omgewing gebruik’beste praktyke of die beskikbaarheidsvlak wat benodig word. Met MySQL, net soos die tipiese clusteromgewing, is daar:

  • Bestuursknooppunt wat gebruik word om die kliënte te monitor en te konfigureer
  • Dataknope wat gebruik word om data te stoor en te deel / te repliseer
  • SQL-nodusse is die koppelvlakke om aan al die nodusse te koppel

Voordat u begin

  • Ten minste drie VPS-gevalle met Ubuntu 18.04 wat in ‘n virtuele privaatnetwerkomgewing gekonfigureer is
  • Nie-wortelgebruikers met sudo-regte wat op elke VPS gekonfigureer is.
  • wget en teer pakkette wat in die VPS geïnstalleer is.

stappe

Dateer die stelselpakkette in al drie nodusse op.

$ sudo apt update -y && sudo apt upgrade -y

Stel die bestuursknooppunt op

$ wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz

Onttrek die saamgeperste lêer in ‘n nuwe lêergids.

$ mkdir mysql
$ tar -xzvf mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz -C mysql –strip-componenten = 1

Kopieer die groepbestuursbediener se binêre lêers; ndb_mgm en ndb_mgmd in u plaaslike binêre lêergids en verander die modus van die lêers na uitvoerbaar.

$ sudo cp / mysql / bin / ndb_mgm * / usr / local / bin
$ sudo chmod + x / usr / local / bin / ndb_mgm *

Skep ‘n konfigurasielêer met die naam config.ini in ‘n nuutgemaakte mysql-cluster gids vir die bestuursklusterknoop. Hierdie lêer identifiseer die SQL-knoop en die bestuursknooppunt’s IP-adresse.

Dit sal ook die dataknoop identifiseer’s IP-adres en hul datagidse.

$ sudo mkdir -p / var / lib / mysql-cluster
$ nano /var/lib/mysql-cluster/config.ini

Spesiale opmerking: onthou om die IP-adresse te vervang met adresse in u omgewingopstelling. Wat die onderstaande konfigurasiekode betref, as u slegs een dataknooppunt het, moet die NoOfReplicas op 1 gestel word, omdat u slegs een dataknooppunt het waar ‘n tabelreplika geberg kan word..

[ndbd standaard]
NoOfReplicas = 1
DataMemory = 80M
IndexMemory = 18M
[mysqld standaard]
[ndb_mgmd standaard]
[tcp standaard]
# Klusterbeheer / bestuursknooppunt
[Ndb_mgmd]
hostname = 192.168.56.10
# Dataknoop
[Ndbd]
hostname = 192.168.56.11
DataDir = / var / lib / mysql-cluster
# Dataknoop 1
[Ndbd]
Host Name = 192.168.56.12
DataDir = / var / lib / MySQL-cluster
# SQL-knooppunt
[Mysqld]
hostname = 192.168.56.40

Begin nou die cluster-bestuursknooppunt en skakel dit in werking. Onthou al die ander nodusse behoort aktief te wees, anders kry u ‘n fout op die nie-bestaande IP-adresse.

$ sudo ndb_mgmd -f /var/lib/mysql-cluster/config.ini –configdir = / var / lib / mysql-cluster / MySQL Cluster Management Server mysql-5.6.31 ndb-7.4.12 $ sudo echo’ndb_mgmd – f /var/lib/mysql-cluster/config.ini –configdir = / var / lib / mysql-cluster / ‘ >> /etc/rc.local

Spesiale opmerking: as u ‘n toestemmingsfout kry, probeer om aan te meld as root (sudo su) en voer die opdrag weer uit.

Stel die dataknoop op

Installeer die libaio1-pakket vanaf Linux, wat dit moontlik maak om verskeie I / O-oproepe gelyktydig te maak.

$ sudo apt installeer libaio1

Skep ‘n nuwe groep en ‘n gebruiker genaamd mysql

$ groep het mysql bygevoeg
$ userdd -g mysql mysql

Laai die mysql-cluster pakket net soos u in die bestuursknooppunt gedoen het.

$ wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz
$ mkdir mysql
$ tar -xzvf mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz -C mysql – strook-komponente = 1

Hierdie keer skuif u die hele mysql-lêergids na / usr /plaaslike directory.

$ sudo mv mysql / / usr / local

Verander gids in die geskuifde lêergids en voer die stelseldatabasis vir die skep van mysql_install_db

$ cd / usr / local / mysql
$ ./scripts/mysql_install_db –user = mysql

Kopieer die mysql-dienslêer na die init.d-lêergids en aktiveer die mysql-diens tydens opstart.

$ sudo cp-ondersteuningslêers / mysql.server /etc/init.d/mysql
$ sudo systemctl maak mysql moontlik

Skuif die plaaslike binêre lêers na u plaaslike binêre gids en skep ‘n nuwe symlink.

$ sudo mv bin / * / usr / local / bin /
$ sudo rm -rf bin /
$ sudo ln -s / usr / local / bin / usr / local / mysql /

Verander die mysql-gids na wortel eienaar in die mysqlgroep- en datagids aan mysql-eienaar in mysql-groep.

$ sudo chown -R wortel: mysql .
$ sudo chown -R mysql data

Skep nou ‘n nuwe konfigurasielêer vir u dataknooppunt om die groep en bestuursknooppunt te definieer waaraan dit behoort.

$ sudo mkdir -p / var / lib / mysql-cluster
$ sudo chown -R mysql / var / lib / mysql-cluster

Begin die dataknoop

$ ndbd – aanvanklike 2018-11-01 00:51:08 [ndbd] INFO – Engel gekoppel aan ‘192.168.56.20:1186’
2018-11-01 00:51:23 [ndbd] INFO – Engel toegeken nodeid: 2 $ sudo systemctl start mysql

U kan nou ‘n wagwoord vir u mysql-gebruik skep

$ sudo mysql_secure_installation

Stel die SQL-knoop op

U moet eers die mysql-groeppakket installeer en die lêergids na u / usr / plaaslike gids skuif.

$ wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz
$ mkdir mysql
$ tar -xzvf mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz -C mysql – strook-komponente = 1
$ mv mysql / usr / local /

Laai die installeer databasis script lêer.

$ cd / usr / local / mysql
$ sudo ./scripts/mysql_install_db –user = mysql

Kopieer die mysql-dienslêer en stel dit in werking

$ cp ondersteuningslêers / mysql.server /etc/init.d/mysql
$ sudo systemctl aktiveer msql

Skuif die plaaslike binêre lêers na u plaaslike binêre gids en skep ‘n nuwe symlink.

$ sudo mv bin / * / usr / local / bin /
$ sudo rm -rf bin /
$ sudo ln -s / usr / local / bin / usr / local / mysql /

Uiteindelik, skep ‘n my.cnf lêer en plak die volgende kode in terwyl u IP-adres vir bestuursknope vervang.

$ vim /etc/my.cnf
# MySQL Config
[Mysqld]
DataDir = / usr / local / mysql / data
socket = / tmp / mysql.sock
gebruiker = mysql

# Begin die ndb-stoormotor
ndbcluster
# IP-adresbestuursknooppunt
NDB-connectstring = 192.168.56.20
[Mysql_cluster]
# IP-adresbestuursknooppunt
NDB-connectstring = 192.168.56.20
# MySQL Pid en Log
[Mysqld_safe]
log-fout = / var / log / mysqld.log
pid-lêer = / var / run / mysqld / mysqld.pid

Stoor veranderinge, verlaat dan die mysql-diens en stel u wagwoord op.

$ sudo systemctl begin mysql
$ sudo mysql_secure_installation
$ mysql -u wortel -p

Om te verifieer dat u installasie werk, skep u ‘n voorbeelddatabasis in u SQL-knooppunt en kyk of dit in die dataknoop gerepliseer sal word.

Skep ‘n nuwe databasis in dieselfde SQL VPS (noem dit wat u wil)

mysql> SKEPPENDE groente;
Navraag OK, 1 ry beïnvloed (0,02 sek.)

Meld aan by die dataknooppunt en kyk na die databasisse, die geskepde databasis in die SQL-knoop moes gerepliseer gewees het.

$ mysql -u wortel -p mysql> SHOWDATABASES;

Afsluiting

U het u MySQL-klusterreplikasie suksesvol opgestel vir hoë beskikbaarheid. U kan u clusterstatus afsluit vanaf die bestuursknooppunt vanaf die ndb_mgm-konsole deur die afsluitopdrag te gebruik.

Laastens, om dieselfde vanaf die ndb_mgm-konsole te monitor, kan u die Wys bevel. Die MySQL-clusterreplikasie het bewys dat dit fouttoleransie, outomatiese uitval en elastisiteit bied.

Kyk na die top 3 Linux-gasheerdienste

FastComet

Beginprys:
$ 2.95


betroubaarheid
9.7


pryse
9.5


Gebruikersvriendelik
9.7


ondersteuning
9.7


Kenmerke
9.6

Lees resensies

Besoek FastComet

Hostinger

Beginprys:
$ 0.99


betroubaarheid
9.3


pryse
9.3


Gebruikersvriendelik
9.4


ondersteuning
9.4


Kenmerke
9.2

Lees resensies

Besoek Hostinger

ChemiCloud

Beginprys:
$ 2,76


betroubaarheid
10


pryse
9.9


Gebruikersvriendelik
9.9


ondersteuning
10


Kenmerke
9.9

Lees resensies

Besoek ChemiCloud

Verwante artikels oor hoe om te doen

  • Hoe om MYSQL 8.0 te installeer en ‘n databasis op ‘n Ubuntu 18.04 Linux VPS te skep
    intermediêre
  • Hoe om replikasie op PostgreSQL op Ubuntu 18.04 VPS of die toegewyde bediener op te stel
    intermediêre
  • Hoe om MySQL Sandboxes met DBdeployer te installeer en te skep op ‘n Ubuntu 18.04 VPS of ‘n toegewyde bediener
    newbie
  • Hoe u phpMyAdmin op Ubuntu 18.04 VPS of die toegewyde bediener kan beveilig?
    intermediêre
  • Hoe om MySQL 5 uit te skakel "Streng modus" op ‘n Ubuntu 18.04 VPS of ‘n toegewyde bediener
    intermediêre
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me