ТОП-10 популярных


НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...


Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...

Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...

БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...


Какую только информацию мы не помещаем на компакт-диски: резервные копии важных данных, музыку, фильмы... Многие полагают, что главное - «купить...

Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...

Размер объему не помеха.
С тех пор как компания Fujitsu отказалась от производства жестких дисков для настольных компьютеров, многие пользователи начали забывать о том,...

ПОД ЛИТЕРОЙ «N»
Aтаку LCD-мониторов не остановить, а масштабы этого наступления даже немного пугают. Судите сами — многие пользователи только начинают приглядываться к новому для...

Internet2, или cтарые песни о новом
Когда-то на заре Интернета, тогдаеще военно-научной сетиAPRAnet, были заложены основныепринципы функционирования«Сети сетей». В их числе — использованиепротокола, называемого сейчасIPv4. В...

Все о MySQL. Управление процессом репликации


28-12-2009

Ознакомьтесь в этом разделе с командами, которые позволят вам управлять взаимо­действием главного и подчиненного серверов. Все эти команды выполняются в интерфейсе MySQL. В процессе изучения этих операторов вы узнаете больше подробностей о репликации.
Команда change master
Команда CHANGE MASTER указывает подчиненному серверу проверить обновление на главном сервере в другом двоичном журнале и/или записывать в другой журнал передачи на подчиненном сервере. Этот оператор также используется для изменения параметров соединения и двоичного журнала. Он представлен в следующем листинге.
Листинг 17.1.
CHANGE MASTER TO MASTER_HOST = ' имя-главного', MASTER_USER = 'имя-подчиненного', MASTER_PASSWORD = 'пароль-подчиненного', MASTER_PORT = 'номер-порта',
MASTER_LOG_FILE = 'имя-файла-двоичного-журанала', MASTER_LOG_POS = 'точка-двоичного-журанала', MASTER_CONNECT_RETRY = 'значение'; 
RELAY_LOG_FILE = 'имя-файла-журанала-подключений',
RELAY_LOG_POS = ' значение';
Допустим, ваша компания купила под базу данных совершенно новый, сверхбольшой и сверхбыстрый сервер и вы хотите сделать его главным сервером. Рассмотрим пример с введенными параметрами.
Листинг 17.2.
mysql> CHANGE MASTER TO MASTER_HOST = 'MrBig', MASTER_USER = 'Slave1', MASTER_PASSWORD = 'Slav3Pass', MASTER_PORT = '33 06', MASTER_LOG_FILE = 'master-bin.0 01',
MASTER_LOG_POS = '7',
MASTER_CONNECT_RETRY = '15'; RELAY_LOG_FILE = 'slave-relay-bin.010', RELAY_LOG_POS = '6084';
Таблица 17.1 содержит сведения по всем этим параметрам. Обратите внимание, что изменятся только указанные вами параметры. Без вашего указания останется старое зна­чение. Исключением из этого правила являются имя узла и номер порта. Если вы измените любой из них, MySQL "решит", что вы изменили главный сервер, и автоматически удалит значения имени двоичного журнала обновлений и положения в нем. Если вы не зададите два новых значения после изменения имени узла или номера порта, будут заданы значения MASTER_LOG_FILE = и MASTER_LOG_POS = '4'.
Управление процессом репликации
Если вы не укажете значения RELAY_LOG_FILE и RELAY_LOG_POS, оператор CHANGE MASTER удалит существующие журналы передачи и создаст новые. Он также обновляет файлы master.info и relay-log.info.
Обратите внимание, что если вы попробуете выполнить оператор CHANGE MASTER в среде с высокой нагрузкой, он может потерять некоторые запросы. Это может случиться, если поток SQL отстает от потока ввода/вывода, так как при удалении командой CHANGE MASTER журналов передачи может возникнуть разрыв между тем, что было записано, и тем, что обрабатывается в данный момент.
Этого можно избежать двумя способами. Первый способ - остановить потоки подчи­ненного сервера, пока он не прочитал все существующие журналы передачи. Для этого используйте команду STOP SLAVE IO_THREAD, и контролируйте чтение командами SHOW SLAVE STATUS и SELECT MASTER_OS_WAIT() . Второй способ - использовать
операторы STOP SLAVE и SHOW SLAVE STATUS, а в столбцах Relay_master_ log_file и Exec_master_log_pos следите за положением потока в двоичном журнале главного сервера. Когда получите эти значения, укажите их в параметрах Master_ log_file и Master_log_pos. Для подчиненного сервера это означает старт репликации в том месте, где завершил чтение поток подчиненного сервера, и, следовательно, абсолютно исключается потеря данных.
Команда purge master
Оператор PURGE MASTER удаляет двоичные журналы на главном сервере до указанной даты или указанного имени журнала. Это можно использовать в ситуации, когда вы хотите определить, какие журналы все еще обрабатываются. Синтаксис таков: PURGE MASTER LOGS TO двоичный-журнал
или
PURGE MASTER LOGS BEFORE дата
На заметку
Этот оператор требует привилегии SUPER.
Для примера предположим, что вы хотите удалить все главные двоичные журналы обновления до файла bin_log.999. Выполните следующее.
Листинг 17.3.
mysql> PURGE MASTER LOGS TO bin_log.999;

Понравился материал? Поделитесь с друзьями!



<< Предыдущая статьяСледующая статья >>
Все о MySQL. Потоки репликации Все о MySQL. Команда start slave