MySQL репликация. Кратка екскурзия

Anonim

Рано или късно всеки администратор ще има проблем, когато капацитетът на сървъра му не е достатъчен, за да изпълни задачите, а придобиването на ново оборудване е почти невъзможно поради финансови затруднения или просто такава покупка поражда съмнения относно бъдещата му възвращаемост.

В светлината на такива събития, не би било излишно да се научи за такова понятие като репликация на база данни. Подобни познания значително ще опростят живота на всяко лице, ангажирано с поддръжката на високонатоварени системи и ще ви позволи да създадете оптимална работна хардуерна конфигурация. Най-общо казано, репликацията на базата данни включва консолидиране на капацитета на набор от компютри, за да се подобри съотношението на производителността на системата и неговата устойчивост на повреди. Първият ефект може да бъде постигнат чрез прехвърляне на част от заявките към резервния сървър, а вторият чрез създаване на локално копие на базата данни, което, ако е необходимо, замества основната база данни.

Най-простият и най-често срещаният начин за организиране на репликацията е MySQL репликацията. Освен това MySQL поддържа тази функционалност от версията 3.23.15 и само еднопосочна репликация. В този случай се създава специална конфигурация "master-slave" и главният сървър (master) може едновременно да бъде и подчинен сървър (slave).

Репликацията на MySQL в този момент е реализирана както следва. Създава се главен сървър, който отговаря за проследяване на промените в двоичния файл, в който се променят всички бази данни и се показват подчинените машини или машини, които четат и изпълняват заявки от този файл. Слейв сървърът непрекъснато комуникира с капитана, така че всички промени, които са настъпили на капитана, се прехвърлят към подчиненото устройство и няма ситуация на дивергенция и неправилност на данните.

Репликацията на MySQL е инсталирана на няколко етапа.

  1. Системният администратор трябва да се увери, че всичките му машини имат инсталирана последната версия на MySQL.
  2. Трябва да създадете нов потребител на главния сървър, под чийто вход ще се репликира MySQL (той трябва да има ниво на привилегията FILE и право на комуникация с подчинените машини).
  3. След това трябва да спрете MySQL на командирите и подчинените сървъри и да копирате всички данни, свързани с репликацията. В Unix системите това може да се направи с командата tar, която създава архивен архив на цялата директория. Потребителите на Windows подхождат на WinZip.
  4. Добавете следните редове към секцията mysqld: server-id = уникален номер, log-bin. Всички промени се правят в My.conf файла на главния сървър, след което той трябва да бъде претоварен.
  5. На подчинените машини в същия файл трябва да добавите следния фрагмент:

master-host =

master-user =

master-password =

master-port =

id =

* в триъгълните скоби трябва да въведете данните си, а не текста по-горе.

Накрая, копирайте всички бази данни в подчинените сървъри и рестартирайте всички машини.

След такива действия, репликацията може да се счита за инсталирана и конфигурирана, което означава, че сега вашият основен сървър няма да страда от високо натоварване и в случай на повреда на която и да е таблица, можете лесно да го възстановите от друг компютър. В резултат на това е възможно да се забрави закупуването на нов хардуер за високонатоварени системи в продължение на няколко години и да се задоволи с нагласената работа на съществуващото оборудване.