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

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

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

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

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

Репликация MySQL




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

Репликация MySQLустанавливается в несколько этапов.

Видео: Ещё немного о репликации в MySQL. Опыт использования Galera.

  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=<секретный пароль пользователя>

Видео: Java. Установка и конфигурирование сервера MySQL. JDBC. Урок 1

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



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

* в треугольных скобках нужно вводить свои данные, а не вышеупомянутый текст.

В конце скопируйте все базы данных на подчиненные сервера и перезапустите все машины.

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

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



Внимание, только СЕГОДНЯ!


Поделись в соцсетях:
Оцени статью:


Похожее
» » » Репликация MySQL. Краткий экскурс