Страница 1 из 2

Backup 20 гиговых InnoDB ?

Добавлено: 2008-12-06 19:28:39
fxp
В общем mysqldump отваливается стандартно "mysqldump: Error 2013: Lost connection to MySQL server during
query when dumping table `blahblah` at row: 2787"
Перепробована пачка вариантов с --single-transaction и прочими, непомогло.
Вариант с остановкой и копированием не подходит(долго), вариант со снапшотом тоже не подходит, система засрана так что не расчистиш и снапшот фигачится минут 10.

Короче полная жопа, если есть у кого опыт переезда с dbmail на dovecot - делитесь.

Re: Backup 20 гиговых InnoDB ?

Добавлено: 2008-12-06 20:03:06
zg
я бы попробовал ручками или в скрипте дампить данные в csv-файлы, это самый быстрый варинт дампа. По одной табличке. А стркутуру перенёс отдельно.

Re: Backup 20 гиговых InnoDB ?

Добавлено: 2008-12-09 15:33:41
skeletor
rsync?

Re: Backup 20 гиговых InnoDB ?

Добавлено: 2008-12-09 17:29:48
zg
skeletor писал(а):rsync?
иннодб даже гораздо меньшего объёма нельзя скорпировать так, чтобы модификации файлов во время копирования не было, про 20 гиг и говорить не стоит, тут даже mysqlhotsopy не выход.

Re: Backup 20 гиговых InnoDB ?

Добавлено: 2008-12-10 2:52:57
warzoni
fxp писал(а):В общем mysqldump отваливается стандартно "mysqldump: Error 2013: Lost connection to MySQL server during
query when dumping table `blahblah` at row: 2173"
Перепробована пачка вариантов с --single-transaction и прочими, непомогло.
Вариант с остановкой и копированием не подходит(долго), вариант со снапшотом тоже не подходит, система засрана так что не расчистиш и снапшот фигачится минут 10.

Короче полная жопа, если есть у кого опыт переезда с dbmail на dovecot - делитесь.

/var/db/mysql )) капируй тупо и всё )) например эм fsbackup да потмо и востоновишь стемеже провами )) если слетит.да не парься.поставь рейд джемров и вздыхай спакойно ))

да зделай разок такое mysqlcheck --repair --analyze --optimize --all-databases --auto-repair

да 20 гиг немного понты )))))надоже а что за сервак железо ))большая база )

Re: Backup 20 гиговых InnoDB ?

Добавлено: 2008-12-10 6:49:25
fxp
:st:
rsync интересная идея, потестю как время будет.

zg, имеется ввиду с остановом базы.

Re: Backup 20 гиговых InnoDB ?

Добавлено: 2008-12-10 8:41:56
zg
warzoni писал(а):да зделай разок такое mysqlcheck --repair --analyze --optimize --all-databases --auto-repair
не думаю, что к иннодб это относится. Это для исама пока придумано.
warzoni писал(а):да 20 гиг немного понты )))))надоже а что за сервак железо ))большая база )
у иннодб ограничение базы в несколько терабайт

fxp, глянь http://dev.mysql.com/doc/refman/5.1/en/ ... ackup.html

Re: Backup 20 гиговых InnoDB ?

Добавлено: 2008-12-10 9:20:59
Alex Keda
ф топку.
у меня 25 или 30 гиг на MyISAM прекрасно жило.

Re: Backup 20 гиговых InnoDB ?

Добавлено: 2008-12-10 9:26:39
zg
lissyara писал(а):у меня 25 или 30 гиг на MyISAM прекрасно жило.
-))))
InnoDB provides MySQL with a transaction-safe (ACID compliant) storage engine that has commit, rollback, and crash recovery capabilities.
у исама этого нет. Это и есть основное отличие иннодб от исама.

Re: Backup 20 гиговых InnoDB ?

Добавлено: 2008-12-10 9:33:20
warzoni
да шошь такое сплю сори вечно не дочитую)) Sam должен работать. :smile:

Re: Backup 20 гиговых InnoDB ?

Добавлено: 2008-12-15 19:24:51
weec
fxp писал(а):В общем mysqldump отваливается стандартно "mysqldump: Error 2013: Lost connection to MySQL server during
query when dumping table `blahblah` at row: 2173"
Перепробована пачка вариантов с --single-transaction и прочими, непомогло.
долго мучался?
побольше манов читай, документации, гугли, это довольно простая проблема

100Гб innodb таблицы дампятся без проблем

может посмотрим, что у тебя в my.cnf сервера?

P.S.: глянь тут http://www.netup.ru/phpbb/viewtopic.php?t=4052
но это лишь временное решение, тебе нужно настроить сервер

Re: Backup 20 гиговых InnoDB ?

Добавлено: 2008-12-17 17:35:14
fxp
Ну вот например:
mysqldump -p --skip-add-locks --single-transaction --opt dbmail > dbmail.sql
mysqldump: Error 2013: Lost connection to MySQL server during query when dumping table `dbmail_messageblks` at row: 2787

Код: Выделить всё

[client]
port            = 3306
socket          = /tmp/mysql.sock

[mysqld]
port            = 3306
socket          = /tmp/mysql.sock

max_connections=200
read_buffer_size=1M
sort_buffer_size=1M
key_buffer_size=16M
innodb_buffer_pool_size=768M
innodb_thread_sleep_delay=0
innodb_additional_mem_pool_size=20M
innodb_log_buffer_size=8M
innodb_flush_log_at_trx_commit=1
innodb_lock_wait_timeout=50

[mysqldump]
quick
max_allowed_packet = 1024M

[mysql]
no-auto-rehash
mysqlcheck заявляет что база в идеальном состоянии, памяти у системы всего 1гиг.

Re: Backup 20 гиговых InnoDB ?

Добавлено: 2008-12-17 19:02:18
zg
fxp писал(а):max_allowed_packet = 1024M
нафига гиговые инсерты? лучше поставь метров 20-100, при импорте проблем меньше будет.

Re: Backup 20 гиговых InnoDB ?

Добавлено: 2008-12-17 20:10:00
Volodymyr
zg писал(а):нафига гиговые инсерты? лучше поставь метров 20-100, при импорте проблем меньше будет.
Так это ж максимально допустимый размер. А генерировать такие инсерты умеет очень популярный http://sypex.net/products/dumper/

Re: Backup 20 гиговых InnoDB ?

Добавлено: 2008-12-17 20:16:42
hizel
серьёзные дяди бэкапируют на slave сервере
в результате все довольны и улюбаются

Re: Backup 20 гиговых InnoDB ?

Добавлено: 2008-12-18 9:51:33
fxp
Тебя обманули, серьезные дяди пользуют Оракл.
Задача - заставить дамп хотя бы задампить.

Re: Backup 20 гиговых InnoDB ?

Добавлено: 2008-12-18 12:27:49
zg
fxp писал(а):Задача - заставить дамп хотя бы задампить.
дампить лучше средствами селекта

Код: Выделить всё

SELECT * FROM `table` INTO OUTFILE 'file_name'

Re: Backup 20 гиговых InnoDB ?

Добавлено: 2008-12-18 13:20:06
hizel
fxp писал(а):Тебя обманули, серьезные дяди пользуют Оракл.
Задача - заставить дамп хотя бы задампить.
глупости, ещё гугловцев и медиавиковцев несерьёзными обзовите

кстати, а вы mail листам mysql на этот счёт не шерстили
скажем вот ветка занятная http://lists.mysql.com/mysql/208877

Re: Backup 20 гиговых InnoDB ?

Добавлено: 2008-12-18 16:59:27
weec
fxp, ты используешь ключи --skip-add-locks --single-transaction (mysqldump)
доступ к текущей базе критичный?

слей базу вот с такими ключами --opt --skip-extended-insert --skip-quick в файл
после, заливай дамп на новое хранилище
а будут ошибки, присылай последние 20 строк из файла .err

под какой системой используешь хранилище? сколько памяти на машине?

Re: Backup 20 гиговых InnoDB ?

Добавлено: 2008-12-18 17:38:21
zg
weec писал(а): сколько памяти на машине?
у него гиг и самое смешное, что max_allowed_packet стоит также гиг, при дефолтном значении 16 метров

Код: Выделить всё

zg# mysql --help | grep max_all
  --max_allowed_packet=#
max_allowed_packet                16777216
zg#
а вылетает at row: 2173, то есть в среднем один ряд получается занимает 400 килобайт. Я бы рыл в эту сторону.

Re: Backup 20 гиговых InnoDB ?

Добавлено: 2008-12-18 18:33:29
weec
про 1Гб упустил

fxp, похоже с памятью для системы проблемы, попробуй снять дам со следующими параметрами:
- параметр innodb_buffer_pool_size, в разделе mysqld, уменьши до 256M
- в раздел mysqld добавь параметр max_allowed_packet, его значение установи в 16M
- параметр max_allowed_packet, в разделе mysqldump, уменьши до 16M
- max_connections уменьши до 100

Re: Backup 20 гиговых InnoDB ?

Добавлено: 2008-12-29 23:26:49
weec
мы дождемся каких либо результатов?

Re: Backup 20 гиговых InnoDB ?

Добавлено: 2008-12-30 15:32:02
iZEN
fxp писал(а):В общем mysqldump отваливается стандартно "mysqldump: Error 2013: Lost connection to MySQL server during
query when dumping table `blahblah` at row: 2787"
Перепробована пачка вариантов с --single-transaction и прочими, непомогло.
Вариант с остановкой и копированием не подходит(долго), вариант со снапшотом тоже не подходит, система засрана так что не расчистиш и снапшот фигачится минут 10.

Короче полная жопа, если есть у кого опыт переезда с dbmail на dovecot - делитесь.
gmirror попробуйте. Да хоть по сети. Только сначала остановите сервер баз данных.

Re: Backup 20 гиговых InnoDB ?

Добавлено: 2009-01-08 0:11:47
fxp
"Непомогло".
Решил больше не тратить на этот бред время. И дамп будет часами идти и заливка черт знает сколько, единственный человеческий путь - через репликацию, но слишком некрасиво выбивается из общей схемы бекапа.
Самый правильный путь во всех отношениях - переезд на dovecot.

Re: Backup 20 гиговых InnoDB ?

Добавлено: 2009-01-26 18:03:00
weec
http://dev.mysql.com/doc/refman/5.1/en/ ... -arch.html

на страничке приводиться несколько методов переноса баз, таблиц
попробоуй mysqldump с опцией --tab (сервер сам кидает дамп потаблично в файлы) и mysqlimport
данный метод отличается хорошей скоростью