The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Небольшая проблема с mysqldump"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"Небольшая проблема с mysqldump"  
Сообщение от menny (ok) on 07-Дек-08, 06:07 
При администрации игрового сервера, когда mysql база разрослась до больших размеров(2gb в дампе) возникла некая проблема. Дело в том, что во время выполнения бэкапа(mysqldump) игровой сервер, как и все его игроки повисает на пару минут, пока mysqldump не отработает до конца.

Не знает ли кто-нибудь более безболезненную процедуру архивации, которая не будет вызывать продолжительных подвисаний?

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Небольшая проблема с mysqldump"  
Сообщение от hizhak (ok) on 07-Дек-08, 06:15 
>При администрации игрового сервера, когда mysql база разрослась до больших размеров(2gb в
>дампе) возникла некая проблема. Дело в том, что во время выполнения
>бэкапа(mysqldump) игровой сервер, как и все его игроки повисает на пару
>минут, пока mysqldump не отработает до конца.
>
>Не знает ли кто-нибудь более безболезненную процедуру архивации, которая не будет вызывать
>продолжительных подвисаний?

ответ не совсем  на вопрос твой, но может поможет.
создай удалённого юзера и зайди с видновой машины на свой серв с помощью навиката или хейди и делай от туда, баг должен уйти

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Небольшая проблема с mysqldump"  
Сообщение от Pahanivo email(ok) on 08-Дек-08, 14:20 
>[оверквотинг удален]
>>бэкапа(mysqldump) игровой сервер, как и все его игроки повисает на пару
>>минут, пока mysqldump не отработает до конца.
>>
>>Не знает ли кто-нибудь более безболезненную процедуру архивации, которая не будет вызывать
>>продолжительных подвисаний?
>
>ответ не совсем  на вопрос твой, но может поможет.
>создай удалённого юзера и зайди с видновой машины на свой серв с
>помощью навиката или хейди и делай от туда, баг должен уйти
>

мдааа - ты просто гений чувак, каких свет не видовал!
те будем грузить не только винт на серваке, но еще и сеть на обоих машинах - ВЕЛИКОЛЕПНА!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Небольшая проблема с mysqldump"  
Сообщение от angra (ok) on 08-Дек-08, 05:23 
По уму нужно настраивать репликацию на другую машину, а уже оттуда снимать дамп. Альтернативный вариант - использование различных вариантов nice. Ну и наконец можно снимать бинарный дамп, особенно хорошо при наличии снапшотов.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Небольшая проблема с mysqldump"  
Сообщение от menny (ok) on 08-Дек-08, 06:47 
>ответ не совсем  на вопрос твой, но может поможет.
>создай удалённого юзера и зайди с видновой машины на свой серв с помощью навиката или >хейди и делай от туда, баг должен уйти

Это не помогает, так как тут скорее не баг, а просто нагрузка на скуль, при выполнение сложных запросов с join(ами) также висит игровой сервак.

>По уму нужно настраивать репликацию на другую машину, а уже оттуда снимать
>дамп. Альтернативный вариант - использование различных вариантов nice. Ну и наконец
>можно снимать бинарный дамп, особенно хорошо при наличии снапшотов.

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

Заранее спасибо.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Небольшая проблема с mysqldump"  
Сообщение от Nimdar (ok) on 08-Дек-08, 13:27 
>Это не помогает, так как тут скорее не баг, а просто нагрузка
>на скуль, при выполнение сложных запросов с join(ами) также висит игровой
>сервак.

Это блокировка таблиц на время снятия дампа. Решение одно -- поднимать репликацию.

>
>>По уму нужно настраивать репликацию на другую машину, а уже оттуда снимать
>>дамп. Альтернативный вариант - использование различных вариантов nice. Ну и наконец
>>можно снимать бинарный дамп, особенно хорошо при наличии снапшотов.
>
>Вот тоже склонялся к репликации, но никогда этого не делал, поэтому хотелось
>бы узнать, возможно ли сделать репликацию на той же машине, на
>которой и основной скуль?

Возможно.

> Если нет, тогда ещё 1 вопрос, если
>есть 2 тачки, на обоих стоит скуль, который используется по назначению,
>возможно ли настроить взаимную репликацию для этих двух тачек, т. е.
>тачка 1 реплицирует тачку 2, тачка 2 реплицирует тачку 1?

Возможно.

>
>Заранее спасибо.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Небольшая проблема с mysqldump"  
Сообщение от Pahanivo email(ok) on 08-Дек-08, 14:26 
1)А разве mysqldump блокает таблицы если ему этого спецально не сказать?
2)А вы уверены что при частых записях в таблицы репликации не усугубят проблему?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Небольшая проблема с mysqldump"  
Сообщение от Nimdar (ok) on 08-Дек-08, 15:13 
>1)А разве mysqldump блокает таблицы если ему этого спецально не сказать?

Да.

man mysqldump

--opt
          This option is shorthand; it is the same as specifying --add-drop-table --add-locks --create-options
          --disable-keys --extended-insert --lock-tables --quick --set-charset. It should give you a fast dump
          operation and produce a dump file that can be reloaded into a MySQL server quickly.

          The --opt option is enabled by default. Use --skip-opt to disable it.  See the discussion at the
          beginning of this section for information about selectively enabling or disabling certain of the
          options affected by --opt.


>2)А вы уверены что при частых записях в таблицы репликации не усугубят
>проблему?

Не понял вопроса.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Небольшая проблема с mysqldump"  
Сообщение от menny (ok) on 08-Дек-08, 15:33 
Спасибо за столь быстрый и краткий ответ. Если не сложно можно ещё ссылку на нормальный гайд по поднятию репликации на той же машине, где и скуль, не хотелось бы читать чего-то лишнего и ненужного.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Небольшая проблема с mysqldump"  
Сообщение от Nimdar (ok) on 08-Дек-08, 15:45 
>Спасибо за столь быстрый и краткий ответ. Если не сложно можно ещё
>ссылку на нормальный гайд по поднятию репликации на той же машине,
>где и скуль, не хотелось бы читать чего-то лишнего и ненужного.
>

http://dev.mysql.com/doc/refman/5.1/en/replication.html
+
http://dev.mysql.com/doc/refman/5.1/en/mysqld-multi.html

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "Небольшая проблема с mysqldump"  
Сообщение от Pahanivo email(ok) on 08-Дек-08, 16:41 
>[оверквотинг удален]
>server quickly.
>
>          The --opt
>option is enabled by default. Use --skip-opt to disable it.  
>See the discussion at the
>          beginning of
>this section for information about selectively enabling or disabling certain of
>the
>          options affected
>by --opt.

ну дык тода отрубаем блочку, nice 20 и вперед с песней

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "Небольшая проблема с mysqldump"  
Сообщение от Nimdar (ok) on 08-Дек-08, 17:05 
>[оверквотинг удален]
>>          The --opt
>>option is enabled by default. Use --skip-opt to disable it.  
>>See the discussion at the
>>          beginning of
>>this section for information about selectively enabling or disabling certain of
>>the
>>          options affected
>>by --opt.
>
>ну дык тода отрубаем блочку, nice 20 и вперед с песней

И получаем неконсистентный дамп, который нахрен никому не нужен.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "Небольшая проблема с mysqldump"  
Сообщение от Pahanivo email(ok) on 08-Дек-08, 17:55 
>[оверквотинг удален]
>>>See the discussion at the
>>>          beginning of
>>>this section for information about selectively enabling or disabling certain of
>>>the
>>>          options affected
>>>by --opt.
>>
>>ну дык тода отрубаем блочку, nice 20 и вперед с песней
>
>И получаем неконсистентный дамп, который нахрен никому не нужен.

Пачему?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

14. "Небольшая проблема с mysqldump"  
Сообщение от Nimdar (ok) on 08-Дек-08, 18:43 
>[оверквотинг удален]
>>>>this section for information about selectively enabling or disabling certain of
>>>>the
>>>>          options affected
>>>>by --opt.
>>>
>>>ну дык тода отрубаем блочку, nice 20 и вперед с песней
>>
>>И получаем неконсистентный дамп, который нахрен никому не нужен.
>
>Пачему?

В момент снятия дампа может случиться запись в две и более связанных между собой таблицы, часть из которых уже снята, а часть ещё нет => теряем связность. И зачем мне такой бекап?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

15. "Небольшая проблема с mysqldump"  
Сообщение от Pahanivo email(ok) on 08-Дек-08, 18:55 
>[оверквотинг удален]
>>>>>          options affected
>>>>>by --opt.
>>>>
>>>>ну дык тода отрубаем блочку, nice 20 и вперед с песней
>>>
>>>И получаем неконсистентный дамп, который нахрен никому не нужен.
>>
>>Пачему?
>
>В момент снятия дампа может случиться запись в две и более связанных между собой таблицы, часть из которых уже снята, а часть ещё нет => теряем связность. И зачем мне такой бекап?

ето мож если и актуально, то только для innodb
для myisam по моему эта тема както пофегу, учитываю что практически весь контроль связанности выполняется приложением. Темболее речь про игровой серв.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

16. "Небольшая проблема с mysqldump"  
Сообщение от Nimdar (ok) on 08-Дек-08, 19:14 
>[оверквотинг удален]
>>>>
>>>>И получаем неконсистентный дамп, который нахрен никому не нужен.
>>>
>>>Пачему?
>>
>>В момент снятия дампа может случиться запись в две и более связанных между собой таблицы, часть из которых уже снята, а часть ещё нет => теряем связность. И зачем мне такой бекап?
>
>ето мож если и актуально, то только для innodb
>для myisam по моему эта тема както пофегу, учитываю что практически весь
>контроль связанности выполняется приложением. Темболее речь про игровой серв.

Какое имеет значение тип таблиц?
Наименования берутся из таблицы t1, описания из таблицы t2. Описания есть, наименований нету (или наоборот). Приложение, как минимум, сильно удивляется этому и может начать выражацца страшными словами.
В общем, я считаю, что лучше не рисковать, хоть и сервак игровой.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

17. "Небольшая проблема с mysqldump"  
Сообщение от Pahanivo email(ok) on 09-Дек-08, 08:42 
>[оверквотинг удален]
>>
>>ето мож если и актуально, то только для innodb
>>для myisam по моему эта тема както пофегу, учитываю что практически весь
>>контроль связанности выполняется приложением. Темболее речь про игровой серв.
>
>Какое имеет значение тип таблиц?
>Наименования берутся из таблицы t1, описания из таблицы t2. Описания есть, наименований
>нету (или наоборот). Приложение, как минимум, сильно удивляется этому и может
>начать выражацца страшными словами.
>В общем, я считаю, что лучше не рисковать, хоть и сервак игровой.

innodb поддерживает транзакции.
myisam - нет. В myisam итак не проблема порушить целостность любым глюком - допустим идет запись в 3 таблице последовательно, в момент записи во вторую сервак упал - все - целостность нарушена.
И вопрос скорее всего не в целостности, а в инструментах ее восстановления.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

19. "Небольшая проблема с mysqldump"  
Сообщение от Nimdar (ok) on 09-Дек-08, 12:12 
>[оверквотинг удален]
>>>контроль связанности выполняется приложением. Темболее речь про игровой серв.
>>
>>Какое имеет значение тип таблиц?
>>Наименования берутся из таблицы t1, описания из таблицы t2. Описания есть, наименований
>>нету (или наоборот). Приложение, как минимум, сильно удивляется этому и может
>>начать выражацца страшными словами.
>>В общем, я считаю, что лучше не рисковать, хоть и сервак игровой.
>
>innodb поддерживает транзакции.
>myisam - нет. В myisam итак не проблема порушить целостность любым глюком

И что, что поддерживает? mysqldump тупо делает селекты, проходя последовательно каждую таблицу, и в случае, если база не залочена, и в момент снятия бекапа
>- допустим идет запись в 3 таблице последовательно, в момент записи
>во вторую сервак упал - все - целостность нарушена.

...и тип таблиц не имеет никакого значения -- мы имеем проблемы.

>И вопрос скорее всего не в целостности, а в инструментах ее восстановления.
>

...и правильного снятия дампа.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

20. "Небольшая проблема с mysqldump"  
Сообщение от angra (ok) on 10-Дек-08, 04:40 
Транзакция не может быть выполнена частично, так что если приложение использует транзакции, то описанной вами проблемы не будет. Если транзакции не используются, то единственный вариант получения логически верного дампа это корректная остановка всех приложений. Имеет смысл при переносе базы, но абсолютно не актуально для бекапа, так как восстановление с бекапа подразумевает наличие намного более серьезных потерь.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "Небольшая проблема с mysqldump"  
Сообщение от MrV on 08-Дек-08, 16:27 
>При администрации игрового сервера, когда mysql база разрослась до больших размеров(2gb в
>дампе) возникла некая проблема. Дело в том, что во время выполнения
>бэкапа(mysqldump) игровой сервер, как и все его игроки повисает на пару
>минут, пока mysqldump не отработает до конца.
>
>Не знает ли кто-нибудь более безболезненную процедуру архивации, которая не будет вызывать
>продолжительных подвисаний?

Честно говоря, не знаю поможет или нет (мне очень помогло,все зависит от того какие данные хранятся в таблице и как часто они меняются) - если происходит частая вставка и удаление, то может помочь такая утилитка как mysqltuner - покажет что нужно подкрутить - очень хорошая статья -  http://web-scalability.com/category/database/mysql/ . Кроме того хотя бы раз в неделю делать - optimize table для таблиц.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

18. "Небольшая проблема с mysqldump"  
Сообщение от Mr_Dee (ok) on 09-Дек-08, 10:17 
конечно могу быть не оригинальным , но у меня была похожая тема (толкьо база не 2 гига , а 22) всё работает на иннодб у меня была идея через селекторы LOCK TABLE WRITE пульнуть на таблицы под именем от которого идёт дамп (ну через пхп скрипт) и спокойно снять дамп , после чего другим скриптом пульнуть UNLOCK TABLE .
До реализации пока не довёл :) но идея осталась
(сразу говорю что после входа по юзером user1 и послать LOCK TABLE t_1 WRITE; , то сам этот юзар будет иметь полную власть над таблицами , а вот ругие будет вставать в очередь (на запись) пока не будет под тем же юзеров UNLOCK TABLE t_1;
(попробую вдруг пможет) при бузе в 2 гига (смешной размер) дамп снимается минут за 5 - 10 .
так же советую снимать дамт не в формате *.sql  , а *.sql + *.txt (это делается так :
mysqldump NAME_DB -q -T /pach/(тут у папки должно быть права 777) -udump -ppass
после чего в папке будет по каждой таблице 2 файла (*.sql фаил с командой дропа/создания таблицы и *.txt фаил где через табуляцию забиты все данные из таблицы).
Приимущество данного дампа в скорости снятия и заливания (правда придётся ручками заливать дам обратно через mysqlimport (сперва *.sql фаил через mysql BASE < *.sql , потом mysqlimport --delete -u -p -L /path/*.txt   (имена тхт должны совпадать с именами таблиц) , всё происходит очень быстро и удобно .
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру