Реплікація MySQL. Короткий екскурс

Рано чи пізно перед будь-яким адміністратором виникає проблема, коли потужності його серверів не вистачає для виконання поставлених завдань, а придбання нової техніки практично неможливо з причини фінансових труднощів, або просто така покупка викликає сумнів з приводу її окупності в майбутньому.

Реплікація баз даних

У світлі таких подій не зайвим буде дізнатися про таке поняття, як реплікація баз даних. Подібні знання значно спростять життя будь-якій людині, що займається обслуговуванням високонавантажених систем і дозволять створити оптимальну робочу апаратну конфігурацію. У загальних рисах реплікація бази даних увазі об`єднання потужностей набору комп`ютерів для підвищення коефіцієнта продуктивності системи та її відмовостійкості. Першого ефекту можна добитися шляхом перекидання частини запитів на резервний сервер, а другий - шляхом створення локальної копії бази даних, яка в разі необхідності замінить головну базу.

Найбільш простий і розповсюджений спосіб організації реплікації - це реплікація MySQL. Причому MySQL підтримує цей функціонал з 3.23.15-версії і тільки односторонню реплікацію. В даному випадку створюється спеціальна конфігурація «master-slave», причому головний сервер (master) може також одночасно бути і підлеглим сервером (slave).

Реплікація MySQL



Реплікація MySQL на даний момент часу реалізовується таким чином. Створюється головний сервер, в обов`язки якого входить стежити за змінами довічного файлу, в якому відображаються всі зміни бази даних і підпорядкована машина або машини, які читають і виконують з цього файлу запити. Підлеглий сервер постійно зв`язується з головним, тому всі зміни, що відбулися на master, переходять на slave, і не виникає ситуації расходімості і некоректності даних.

Реплікація MySQL встановлюється в кілька етапів.

  1. Адміністратор системи повинен упевнитися, що на всіх його машинах встановлена остання версія MySQL.
  2. Необхідно створити нового користувача на головному сервері, під логіном якого відбуватиметься реплікація MySQL (він повинен мати рівень привілеї FILE і права зв`язуватися зі slave-машинами).
  3. Далі потрібно зупинити MySQL на головком і підлеглих серверах і скопіювати всі дані, які стосуються реплікації. На Unix-системах це можна зробити командою tar, яка робить резервний архів всього каталогу. Користувачам Windows підійде WinZip.
  4. У секцію mysqld додати наступні рядки: server-id = unique number, log-bin. Всі зміни проводяться у файлі My.conf на master сервері, після чого він повинен бути обов`язково перевантажений.
  5. На slave-машинах в аналогічний файл потрібно дописати наступний фрагмент коду:

master-host =<имя Вашего master хоста>



master-user =<логин пользователя>

master-password =<секретный пароль пользователя>

master-port =<порт, по которому будут подключаться подчиненные сервера к главному>

server-id =< id данной slave машины>

* В трикутних дужках треба вводити свої дані, а не вищезгаданий текст.

Наприкінці скопіюйте всі бази даних на підлеглі сервера і перезапустіть всі машини.

Реплікація бази даних

Після таких дій реплікацію можна вважати встановленої і настроєної, а це означає, що тепер ваш головний сервер не буде страждати від високого завантаження і в разі збою будь-якої таблиці на ньому її з легкістю можна буде відновити з іншого комп`ютера. У підсумку можна на кілька років забути про покупку нового апаратного забезпечення для високонавантажених систем і задовольнятися налагодженої роботою існуючої техніки.




» » Реплікація MySQL. Короткий екскурс