Сообщения

Показаны сообщения с ярлыком "Master-Slave"

Репликация баз данных MySQL по типу Master-Slave Часть 2: Внедрение

Процедура довольно сложная и требует обдумывания решений. Бросаться сразу делать не стоит, тем более на рабочих боевых серверах. Лучший вариант это кончено попробовать на тестовых виртуальных серверах, если есть терпение, у меня его нет, обычно внедряю сразу, подстраховавшись бэкапами всего и вся. 1. Итак у нас должен быть рабочий сервер с базой данной mysql, желательно схожей версии выше 5.0. Сам сервер нужен чтобы смог справиться с подобной нагрузкой на головной сервер либо лучше. Я использовал физический сервер более мощной конфигурации, чем головной виртуальный. 2. Закомментируем строку в файлах my,cnf bind-address = 127.0.0.1 в этом случае доступ к базе будет как снаруже, так и изнутри. Для безопасности вашего сервера так же рекомендуется в iptables на обоих серверах разрешить только доступ по порту базы данных только работающих в этой схеме серверов. 3. Создаем пользователя с правами на репликацию GRANT FILE ON *.* TO repl@"%" IDENTIFIED BY '<password...

Медленные запросы к удаленной базе данных MySQL

После проведения репликации по типу Master-Slave  и начале тестирования обнаружил. что запросы к удаленной базе данных происходят на много дольше чем к той которая расположена локально. Для теста я использовал скрипт который в случайном порядке с вероятностью в 50 процентов будет делать запросы, то к локальной базе, то к удаленной. И при запросах к удаленной запросы выполнялись на много дольше, к локальной моментально. Локальный сервер является виртуальным удаленный физическим с более мощной конфигурацией. Пинг к этому серверу проходил с минимальными задержками. Поэтому после небольшого мозгового штурма пришел к выводу что проблема явно не канале передачи данных. а в конкретной конфигурации mysql. Проблем с нехваткой памяти или сверхестественной загрузкой процессора выявлено не было, да и не логично. Погуглив особо много информации не нашел, но все же отрыл один топик с похожей проблемой. Очень часто большие задержки интернета связаны с проблемой настройки ДНС. Это относитьс...

Репликация баз данных MySQL по типу Master-Slave Часть 1: Введение

Как всегда большую тему разбиваю на несколько частей и в первой просто опишу процесс репликации, во второй приведу пример внедрения, в третьей приведу примеры распределения нагрузки в скриптах используя запросы к разным базам данных. Собственно репликация слово страшное, но на самом деле это просто создание копии основной базы данных на дополнительном сервере. Применяется подобные фишки в случаях: 1. Когда нужно снизить нагрузку на главный сервер баз данных распределяя запросы. 2. Сделать резервную копию основной базы и регулярно ее обновлять. 3. В случае падения одного сервера переключиться на другой. 4. Без каких либо проблем останавливать Slave и делать резервную копию всей базы, не останавливая Master. 5. Добавить страшное слово в резюме. Схем построения репликаций есть огромное количество, но выделяются Master-Slave и Master-Master как основополагающие. Я опишу принцип репликации типа Master-Slave так как он самый простой. В начинающих проектах при минимальных нагр...