On 02/06/12 15:07, skeletor wrote:
Какие средства пробовались:
- обычный дамп через mysqldump на другие диски
- дамп через mysqldump по сети сразу на другой хост

Но даже и в этом случае диски нагружаются достаточно, что бы сайт не отвечал.

ПС. Сам сайт и БД лежат на разных серверах и фраза "сайт лежит" означает, что
истекает таймаут при подключении к БД.

Может есть варианты ещё как-то сделать дамп или выставить поменьше нагрузку на
диски. nice/renice - не помогают, так как сервак не настолько нагружен, что бы
приоритет влиял на это.

Если база использует myisam лежит на зеркале (gmirror), то:

1. в mysql
FLUSH TABLES WITH READ LOCK

2. В OS
sync
sleep 5
gmirror remove data da0x

3. в mysql
UNLOCK TABLES

После этого fsck_ffs /dev/da0x
смонтировать его в /mnt и скопировать файлы базы данных на другой сервер.

Способ неоднократно проверен на практике.

Для innodb не пробовал, но тут
http://dev.mysql.com/doc/refman/5.0/en/lock-tables.html
пишут, что тоже возможно, но есть особенности, искать по слову
innodb_max_dirty_pages_pct

--
 Anton Yuzhaninov

Ответить