Дублирующий MySQL
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- kozak
- сержант
- Сообщения: 240
- Зарегистрирован: 2007-07-20 15:22:54
- Откуда: Запорізька Січ
Дублирующий MySQL
Есть рабочие серверы с множеством служб используемых mySQL.
Рядом стоит mySQL сервер в чистом виде, используемый для хранения БД.
Иногда, когда сервер перегружен и максимальное количество запросов превышает допустимое значение,
сервер перестает принимать запросы. Это плохо=)
Появилась идея создания SLAVE-сервера.
По этому поводу появился вопрос по настройке DNS-сервера.
Как я понимаю нужно создать две A-зоны с адресами двух серверов.
И по-принципу "не работает - идем дальше" все должно работать.
Есть предложения?
P.S. Маны, доки читал, на mysql.com был.
Рядом стоит mySQL сервер в чистом виде, используемый для хранения БД.
Иногда, когда сервер перегружен и максимальное количество запросов превышает допустимое значение,
сервер перестает принимать запросы. Это плохо=)
Появилась идея создания SLAVE-сервера.
По этому поводу появился вопрос по настройке DNS-сервера.
Как я понимаю нужно создать две A-зоны с адресами двух серверов.
И по-принципу "не работает - идем дальше" все должно работать.
Есть предложения?
P.S. Маны, доки читал, на mysql.com был.
Последний раз редактировалось kozak 2007-07-26 12:25:23, всего редактировалось 1 раз.
Діла добрих оновляться, Діла злих згинуть. Т. Г. Шевченко.
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
- Alex Keda
- стреляли...
- Сообщения: 35420
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
- kozak
- сержант
- Сообщения: 240
- Зарегистрирован: 2007-07-20 15:22:54
- Откуда: Запорізька Січ
Re: Дублирующий MySQL
Звучит страшно=) Нет не думал. С чего лучше начать!?
Діла добрих оновляться, Діла злих згинуть. Т. Г. Шевченко.
- Alex Keda
- стреляли...
- Сообщения: 35420
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: Дублирующий MySQL
думаю с официально сайта..
по крайней мере - я не делал...
по крайней мере - я не делал...
Убей их всех! Бог потом рассортирует...
-
- рядовой
- Сообщения: 10
- Зарегистрирован: 2007-07-26 9:11:32
Re: Дублирующий MySQL
Копай в сторону mysql-proxy
Или как то там.
Или как то там.
- kozak
- сержант
- Сообщения: 240
- Зарегистрирован: 2007-07-20 15:22:54
- Откуда: Запорізька Січ
Re: Дублирующий MySQL
Новичкам по теме рекомендую: http://www.onlamp.com/pub/a/onlamp/2006 ... ation.html
Діла добрих оновляться, Діла злих згинуть. Т. Г. Шевченко.
- gfer
- рядовой
- Сообщения: 17
- Зарегистрирован: 2009-07-24 10:51:33
- Контактная информация:
Re: Дублирующий MySQL
Сатана был лучшим другом Церкви во все времена, поддерживая ее бизнес все эти годы!
- gfer
- рядовой
- Сообщения: 17
- Зарегистрирован: 2009-07-24 10:51:33
- Контактная информация:
Re: Дублирующий MySQL
Сатана был лучшим другом Церкви во все времена, поддерживая ее бизнес все эти годы!
- weec
- лейтенант
- Сообщения: 948
- Зарегистрирован: 2007-07-24 11:17:35
- Откуда: Afghanistan
- Контактная информация:
Re: Дублирующий MySQL
ndb советуйте ...
а юзает ли его кто в продакшене?
ndb-engine по типу запросов вообще сильно урезан
kozak, используй репликацию
а юзает ли его кто в продакшене?
ndb-engine по типу запросов вообще сильно урезан
kozak, используй репликацию
- kozak
- сержант
- Сообщения: 240
- Зарегистрирован: 2007-07-20 15:22:54
- Откуда: Запорізька Січ
Re: Дублирующий MySQL
Спасибо, уже собрал, забыл... работает! 

Діла добрих оновляться, Діла злих згинуть. Т. Г. Шевченко.
- kozak
- сержант
- Сообщения: 240
- Зарегистрирован: 2007-07-20 15:22:54
- Откуда: Запорізька Січ
Re: Дублирующий MySQL
Вопрос по репликации.
Репликация не работает если не использовать функцию "USE database" перед SQL-запросом.
т.е. USE test; INSERT INTO `test`.`table` (`ID`, `Data`, `TS`) VALUES (NULL, 'value', CURRENT_TIMESTAMP); - реплицируется отлично.
но если убрать USE test; то этот запрос не добавляется в бинарный журнал репликации.
Является ли обязательным параметр выборки БД ("USE test") или есть другие варианты решения этой проблемы глобально на уровне сервера?
Репликация не работает если не использовать функцию "USE database" перед SQL-запросом.
т.е. USE test; INSERT INTO `test`.`table` (`ID`, `Data`, `TS`) VALUES (NULL, 'value', CURRENT_TIMESTAMP); - реплицируется отлично.
но если убрать USE test; то этот запрос не добавляется в бинарный журнал репликации.
Является ли обязательным параметр выборки БД ("USE test") или есть другие варианты решения этой проблемы глобально на уровне сервера?

Діла добрих оновляться, Діла злих згинуть. Т. Г. Шевченко.
- Gamerman
- капитан
- Сообщения: 1723
- Зарегистрирован: 2009-05-17 21:01:23
- Откуда: Украина, Ужгород - Днепр
- Контактная информация:
- kozak
- сержант
- Сообщения: 240
- Зарегистрирован: 2007-07-20 15:22:54
- Откуда: Запорізька Січ
Re: Дублирующий MySQL
В смысле, "чем"?
Сервер MySQL
Таблицы MyISAM
Формат BINLOG - STATEMENT

Сервер MySQL
Таблицы MyISAM
Формат BINLOG - STATEMENT

Діла добрих оновляться, Діла злих згинуть. Т. Г. Шевченко.
- Gamerman
- капитан
- Сообщения: 1723
- Зарегистрирован: 2009-05-17 21:01:23
- Откуда: Украина, Ужгород - Днепр
- Контактная информация:
Re: Дублирующий MySQL
Клиент какой?kozak писал(а):В смысле, "чем"?
USE test; INSERT INTO `test`.`table` (`ID`, `Data`, `TS`) VALUES (NULL, 'value', CURRENT_TIMESTAMP);
Глюк глюком вышибают!
- kozak
- сержант
- Сообщения: 240
- Зарегистрирован: 2007-07-20 15:22:54
- Откуда: Запорізька Січ
- Gamerman
- капитан
- Сообщения: 1723
- Зарегистрирован: 2009-05-17 21:01:23
- Откуда: Украина, Ужгород - Днепр
- Контактная информация:
Re: Дублирующий MySQL
Насколько я знаю, для каждого пакет-запроса PHP создает сессию и потом разрывает. При логине, он подключается к одной БД, которая может не совпадать с нужной.
Если же все запросы выполняются в одной сессии, то выбирать базу нужно только один раз.
Если же все запросы выполняются в одной сессии, то выбирать базу нужно только один раз.
Глюк глюком вышибают!
- kozak
- сержант
- Сообщения: 240
- Зарегистрирован: 2007-07-20 15:22:54
- Откуда: Запорізька Січ
Re: Дублирующий MySQL
Тем не менее запрос "USE test;" необходим даже при запросе типа "INSERT INTO `test`.`table`...", где мы итак указываем таблицу test с которой будем работать?
Діла добрих оновляться, Діла злих згинуть. Т. Г. Шевченко.
- Gamerman
- капитан
- Сообщения: 1723
- Зарегистрирован: 2009-05-17 21:01:23
- Откуда: Украина, Ужгород - Днепр
- Контактная информация:
Re: Дублирующий MySQL
Запрос указывает, что мы работаем с базой даных test.
Запрос test указывает, что мы работаем с таблицой test
Вы случайно до этого с ФоксПро не работали активно?
Код: Выделить всё
USE test
Запрос
Код: Выделить всё
select, insert, update
Вы случайно до этого с ФоксПро не работали активно?

Глюк глюком вышибают!
- kozak
- сержант
- Сообщения: 240
- Зарегистрирован: 2007-07-20 15:22:54
- Откуда: Запорізька Січ
Re: Дублирующий MySQL
Спасибо, Gamerman.
Можно ли использовать опцию "DELAY_KEY_WRITE" для реплицирующихся таблиц?
Можно ли использовать опцию "DELAY_KEY_WRITE" для реплицирующихся таблиц?
Діла добрих оновляться, Діла злих згинуть. Т. Г. Шевченко.
- Gamerman
- капитан
- Сообщения: 1723
- Зарегистрирован: 2009-05-17 21:01:23
- Откуда: Украина, Ужгород - Днепр
- Контактная информация:
- kozak
- сержант
- Сообщения: 240
- Зарегистрирован: 2007-07-20 15:22:54
- Откуда: Запорізька Січ
Re: Дублирующий MySQL
Вроде как нельзя. Но не уверен точно, т.к. используем не для всех тамлиц (ALL) а конкретно для некоторых.If you set this variable to ALL (DELAY_KEY_WRITE), you should not use MyISAM tables from within another program (such as another MySQL server or myisamchk) when the tables are in use. Doing so leads to index corruption.

Діла добрих оновляться, Діла злих згинуть. Т. Г. Шевченко.
- Gamerman
- капитан
- Сообщения: 1723
- Зарегистрирован: 2009-05-17 21:01:23
- Откуда: Украина, Ужгород - Днепр
- Контактная информация:
- kozak
- сержант
- Сообщения: 240
- Зарегистрирован: 2007-07-20 15:22:54
- Откуда: Запорізька Січ
Re: Дублирующий MySQL
--delay-key-write=ALL
Don't flush key buffers between writes for any MyISAM table.
Don't flush key buffers between writes for any MyISAM table.
Діла добрих оновляться, Діла злих згинуть. Т. Г. Шевченко.
- Gamerman
- капитан
- Сообщения: 1723
- Зарегистрирован: 2009-05-17 21:01:23
- Откуда: Украина, Ужгород - Днепр
- Контактная информация:
Re: Дублирующий MySQL
delay_key_write Если включен (по умолчанию - включен), MySQL будет учитывать параметр DELAY_KEY_WRITE для команды CREATE TABLE. Это означает, что ключевой буфер таблиц с данным параметром будет сбрасываться на диск не при каждом обновлении индексов, а только при закрытии таблицы. Такой режим работы значительно ускоряет запись ключей, однако в случае использования данного параметра необходимо будет также добавить автоматическую проверку всех таблиц при помощи myisamchk --fast --force. Обратите внимание: если запустить mysqld с параметром --delay-key-write-for-all-tables, то все таблицы будут обрабатываться таким образом, как будто они были созданы с применением параметра delay_key_write. Этот флаг можно снять, запустив mysqld с параметром --skip-new или --safe-mode.
Глюк глюком вышибают!