репликация mysql - блокировка таблицы?

Только для записей. Вот проблема GitHub , связанная с этим запросом. Это было решено.

9
задан Esteban Küber 19 October 2009 в 13:14
поделиться

3 ответа

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

Таблица, соединяющая ведомое устройство, является совсем другой вещью, как бы то ни было. Репликация последовательна: каждый запрос выполнения к завершению перед ведомым устройством выполняет следующее. Такие длинные обновления заставят репликацию отставать временно. Если Ваше приложение намеревается использовать репликацию для масштаба, это должно знать, как разместить это.

4
ответ дан 4 December 2019 в 21:13
поделиться

При изменении типов таблицы на innodb блокировка уровня строки используется. Кроме того, Ваша репликация будет более стабильной, поскольку обновления будут транзакционными. Репликация MyISAM является долгосрочной болью.

Убедитесь, что Ваши серверы подобраны версии, и ВСЕГДА убеждаться закрыть ведущее устройство прежде, чем закрыть ведомые устройства. Можно воспитать ведущее устройство снова сразу после закрытия ведомых устройств, но действительно необходимо удалить его.

Кроме того, удостоверьтесь, что Вы используете соответствующий, авторасширяют опции для InnoDB. И, в то время как Вы в нем, Вы, вероятно, захотите мигрировать далеко от плавания и удвоиться до 'десятичного числа' (что означает mysql 5.1.), Который сохранит Вас некоторые головные боли репликации.

Это - вероятно, немного больше, чем Вы попросили.Приятного отдыха.

P.s., да блокировки myisam могут вызвать проблемы. Кроме того, innodb медленнее, чем myisam, если myisam не блокируется для огромного выбора.

6
ответ дан 4 December 2019 в 21:13
поделиться

Решение с myisam типом таблицы не 'лучше'. Однако можно обойтись им.

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

Следующая ссылка отвечает на Ваши вопросы. А именно, привязывается, таблицы MyISAM имеют меньше шанса блокирования записей, если существует, не удаляет продолжение. Таким образом, таблица, которая не имеет, удаляет дыры в нем, будет работать быстрее в дублируемой установке.

http://dev.mysql.com/doc/refman/5.1/en/internal-locking.html

Можно смягчить последствие 'дыр', имеют экспорт/импорт DBA периодически в течение запланированных времен простоя (особенно после того, как масса удаляет.) Кроме того, удостоверьтесь, что Ваши ведомые базы данных не понижаются с ведущим устройством, все еще работающим. Это сохранит Вас многие, много проблем.

0
ответ дан 4 December 2019 в 21:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: