Настройка репликации MySQL

Итак, у нас есть работающая база данных MySQL включенная в работу. Мы хотим включить репликацию нашего MySQL сервера.

  • IP-адрес мастера 10.8.0.2, реплики — 10.8.0.1
  • требуется настроить репликацию всех баз данных

Для каждого из серверов необходимо указать уникальный ID сервера, путь до бинарных логов, имя базы данных для репликации

Настройки первого(основного) сервера(10.8.0.2)

Для начала на старом сервере экспортируем все база данных, которые необходимо реплицировать

Копируем дамп на резервный сервер

 

Настраиваем асинxронную Master Master репликацию MySQL

В файле /etc/my.cnf в разделе [mysqld] включаем бинарный лог (необходим) и делаем дополнительные настройки:

 

Перезапускаем MySQL

Необходимо создать пользователя, из-под которого будет проходить репликация и предоставить ему необходимые права.

Проверяем статус сервера

Настройки второго сервера(10.8.0.1)

Импортируем ранее скопированный дамп.

В файле /etc/my.cnf в разделе [mysqld] включаем бинарный лог (необходим) и делаем дополнительные настройки:

Перезапускаем MySQL

Необходимо создать пользователя, из-под которого будет проходить репликация и предоставить ему необходимые права.

Проверяем статус сервера

Настройки первого(основного) сервера(10.8.0.2)

Видим, что репликация идет корректно.

 

 

Защита wordpress посредством Fail2ban

Сегодня при попытке зайти на сервер обнаружил, что он очень сильно тупит. Далее поглядел top и увидел, что apache грузит сервер до невозможности. Посмотрел лог nginx и увидел следующее:

Понял, что какая-то сволочь перебирает пароли. Потушил nginx и начал вносить небольшие изменения в конфиги. 1. Урезал количество процессов apache до 20 в /etc/httpd/conf/httpd.conf

2.Добавил в /etc/fail2ban/jail.conf правило

3. Ну и собственно добавил фильтр по которому будем отлавливать. Создаем файл /etc/fail2ban/filter.d/wp-login.conf и добавляем в него

Перезапускаем apache, fail2ban и запускаем nginx. Линия обороны готова.