0.2 Voor jy begin
1.1 Skep ‘n voorbeelddatabasis
1.2 Primêre bediener konfigurasie
1.3 Slawe bediener konfigurasie
3 Kyk na die top 3 beste webhostingdienste
Stoor data op een plek is gewoonlik ‘n riskante ding om te doen. Dit word gewoonlik aanbeveel dat u ‘n plan het om te verseker dat u herstel van ‘n ramp sodra dit toeslaan.
Een goeie manier om ‘n doeltreffende rampherstelplan te verseker, is om dieselfde data op verskeie bedieners te hê en te gesinchroniseer. Die databasisbedieners werk gewoonlik saam om een ​​oor te neem in geval die primêre / hoofbediener misluk en sodoende hoë beskikbaarheid skep. Verskeie databasisbedieners kan ook terselfdertyd dieselfde data bedien, dit word ook Load Balancing genoem.
In hierdie gids, jy’Ek sal leer hoe om ‘n meester-slaaf-replikasie op te stel waar een databasisbediener lees-skryf-toestemmings sal verleen, terwyl die tweede een slegs lees-toestemmings daaraan sal verleen..
2 Ubuntu 18.04 virtuele privaat bedieners (VPS’s) of toegewyde bedieners met ‘n nie-gebruiker wat sudo-voorregte het. Een sal as ‘n meester optree, terwyl die ander ‘n standby / slawe-bediener is.
PostgreSQL is op albei bedieners geïnstalleer en gekonfigureer. U kan hier leer hoe om PostgreSQL-databasisbediener op Ubuntu 18.04 te installeer
U moet eers die luisteradres op die PostgreSQL-konfigurasiebladsy verander. Die bediener moet na alle poorte kan luister.
Spesiale opmerking: die postgresql-weergawe kan ‘n ander weergawe wees, en u pad kan dus verskil van die een hierbo.
Soek listen_addresses in u redakteur of stel nommers in en blaai af na reël 59.
Trek die lyn uit en verander die localhost-naam na * waardeur die bediener na alle IP-adresse kan luister. Dit moet soos die volgende uittreksel lyk.
# VERBINDINGS EN MAGTIGING
# – Verbindingsinstellings –
listen_addresses = ‘*’ # op watter IP-adres om te luister;
# komma-geskeide lys van adresse;
# verstek na ‘localhost’; gebruik ‘*’ vir almal
Maak u redakteur toe terwyl u veranderinge stoor en laai die postgresql-diens weer om die veranderings te akkommodeer
$ sudo systemctl herbegin postgresql
Skep ‘n voorbeelddatabasis
Vir repliseringstoetsdoeleindes, skep ‘n voorbeeldtabel genaamd karakters.
Teken in u postgres-databasis aan
$ sudo -i -u postgres psql postgres
# CREATETABLE karakters (fname-teks, karakter_id-reeks, datametaal, beskrywingsteks);
Voeg nou voorbeelddata in u nuutgevormde tabel in.
# INSERTINTOcharacters (naam, datum, beskrywing) WAARDES (‘Griffin’, huidige_datum, ‘Dit is ‘n voorbeeldkarakter’);
Primêre bediener konfigurasie
PostgreSQL benodig ‘n rol / gebruiker met spesiale regte vir repliseringsdoeleindes.
$ sudo -u postgres createuser -U postgres replicationuser -P -c 5 – replikasie
Spesiale opmerking: u kan hier leer oor die createuser-opdragopsies. Sorg ook dat in die produksie-omgewing, die wagwoord vir die replikasieverbruiker STERK is om voorvalle soos brutoforcing of maklike raai van wagwoorde te voorkom.
U moet dan ‘n argiefgids skep wat ‘n subgids van u groep is’s standaard hoofgids.
$ sudo mkdir -p /var/lib/postgresql/9.5/main/mnt/server/archivedir
Stel die pg_hba.konf lêer
Soek in die replikasie-afdeling, en voeg dan die volgende inskrywing by die replikasie-gebruiker by om soos volg te lyk. Onthou om u IP-adres van die slawebediener te vervang.
# Laat replikasieverbindings toe
host replication replicationuser 192.168.56.20/24 md5
Verlaat terwyl u veranderinge stoor.
Wysig die postgresql.conffile
Wysig die volgende instellings. Onthou om elke instelling wat u wysig, te laat opmerk.
archive_mode = aan
Archive_commend = ‘toets! -f mnt / server / archivedir /% f && cp% p mnt / server / archivedir /% f ‘
Verlaat terwyl u veranderinge stoor en herbegin die postgresql-diens
Slawe bediener konfigurasie
Stop eers die postgresql-diens op u slawe-bediener.
Hernoem die hoofnaam in die postgresql-gids na iets anders sedert die rugsteun gewen het’t vervang die bestaande lêers in dieselfde lêergids.
$ sudo mv /var/lib/postgresql/9.3/main /var/lib/postgresql/9.3/main_old
Begin die pg_basebackup-program. Vervang die ip met u ip-adres van u meesterbediener.
$ sudo -u postgres pg_basebackup -h 192.168.56.20 -D /var/lib/postgresql/9.5/main -U replikasie-gebruiker -v -P –xlog-metode = stroom
Voer die replikasiegebruikerswagwoord in wat u op u meesterbediener gestel het wanneer u gevra word.
Wysig die postgresql.konf lêer
Soek na die instellingopsie vir hot_standby en verander dit na op.
U moet nou die herstelinstellings verskaf wat gebruik sal word in die geval van dataherwinning.
$ sudo cp -avr /usr/share/postgresql/9.5/recovery.conf.sample /var/lib/postgresql/9.5/main/recovery.conf
Wysig die herstellêer
$ sudo vim /var/lib/postgresql/9.5/main/recovery.conf
Soek na die standby_mode en verander die opsie na op sodat die bediener in standby-modus kan bly.
Soek na die primêre_konninfo en voeg die meesterbediener besonderhede by
primêre_conninfo = ‘host = 192.168.56.20 poort = 5432 gebruiker = replikasiegebruiker [email protected]%’
Begin die postgresql-diens op u slawe-bediener
$ sudo systemctl begin postgresql
Gaan na u meesterbediener in die tabel wat u geskep het. Voeg ‘n nuwe inskrywing by.
# INSERTINTOcharacter (naam, datum, beskrywing) WAARDES (‘Sanchez’, huidige datum, ‘Dit is ‘n familie-karakter’);
Gaan terug na u slawe-bediener in die Postgres-databasis en bekyk die data
# SELECT * FROMcharacter
fname | karakter_id | datum | beskrywing
Griffin | 1 | 2018-10-22 00:00:00 | Dit is ‘n voorbeeldkarakter
Sanchez | 2 | 2018-10-2200: 00: 00 | ‘N Rick en Morty-karakter
As u die data op u slawebediener kon sien nadat u dit in u meesterbediener geplaas het, beteken dit dat u u PostgreSQL-meester-slawe-replikasie suksesvol opgestel het.
Daar is twee maniere om ‘n mislukking aan te wend as die meesterbediener skielik ophou werk; u kan óf die pg_ctl-opdrag gebruik, óf u kan die ligging van die snellerlêer in u slawebediener instel’s /etc/postgresql/9.5/main/postgresql.conf-lêer. Soek en deaktiveer die trigger_file = ‘/tmp/postgresql.trigger.5432’line in die lêer.
Hoe om PostgreSQL op ‘n Debian 9 VPS of ‘n toegewyde bediener te installeer
Hoe om Nginx en Apache saam te stel op dieselfde Ubuntu VPS of toegewyde bediener
Hoe om die datum en tydsone op ‘n Ubuntu 18.04 VPS of ‘n toegewyde bediener op te stel