LINUX.ORG.RU

Бэкап mysql, mysldump -A бэкапит не все базы.


0

2

приветствую глубокоуважаемого Олла.

Сначала вступление:
Бэкапились мирно базы с помощью backup-manager и все было хорошо пока не узнали что все плохо. У меня есть подозрение что плохо из за того что используются базы с хранилищем innodb.

В бэкапе не оказалось нужной базы.

В общем mysqldump -A >AllDB.sql бэкапит далеко не все базы.

Решение конечно есть в виде скрипта:
#!/bin/sh
timestamp=`date +%y%m%d-%H%M`
echo $timestamp
echo '#!/bin/sh' >1-dump-$timestamp.sh
mysql -h dbhost -uroot -ppasword -e «show databases» | grep -v Database | \
grep -v mysql | grep -v information_schema| grep -v test | grep -v OLD | \
gawk '{print «mysqldump -a -e -K --routines --single-transaction -uroot -ppassword » $1" \>«$1».$timestamp.sql"}' >>1-dump-$timestamp.sh
chmod +x
1-dump-$timestamp.sh

По исполнению этого скрипта создается скрипт бэкапящий базы.

Может кто уже сталкивался с такой проблемой?
Хочется бэкапить базу с помощью myqldump -A и все базы в один файл а в идеале это должно работать при исполнении backup-manager

всех благ,
0лег.

★★★

В бэкапе не оказалось нужной базы.

может побилась? ЕМНИП битая не дампится.

drBatty ★★
()

А что происходит при попытке сдампить одну только несдампившуюся базу?

Кстати, не по теме, но:

| \

Достаточно только |

... | grep -v test | grep -v OLD | ...

grep -vE 'test|OLD'

YAR ★★★★★
()
Ответ на: комментарий от YAR

Базы указанные явно - дампит.

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

Проблема как раз в том, что «mysqldump -A» дампит не все, впрочем может какой косяк и в размере файла.
«mysqldump -A» дампит 5.0Gb
а скрипт разворачивает в 14.5Gb отдельных баз.
Впрочем там есть и база 7.5Gb в одном файле, а это больше 5.

всех благ,
0лег.

n0mad ★★★
() автор топика
Ответ на: Базы указанные явно - дампит. от n0mad

А как вы определяете, что «не все» базы?

Да, может быть, что проблема в размере файла (особенно, на 32-х битной системе), при превышении лимита в 4Гб. Ну так применяйте жеж сжатие!

Может, просто в том каталоге, куда вы бэкапите, уже места нету (какой-нибудь подмонтированный забитый раздел).

Как экзотика (при бооооольшом количестве мелких файлов) может быть просто не хватает инодов, хотя «свободное место» есть.

mysqldump -A --add-drop-database --add-drop-table | bzip2 -zc9 > ./mysql.sql.bz2

у меня бэкапит всё, включая саму БД «mysql».

wheel
()

Кстати, при mysqldump вы MySQL-пользователем рутом запускаетесь или обычным? Если обычным пользователем, то может не хватать прав на чтение конкретной базы.

wheel
()
Ответ на: комментарий от wheel

при превышении лимита в 4Гб.

Угу, и при этом при дампе отдельных баз он получил файлик на 7 Гб.

YAR ★★★★★
()

Как вы из такого бэкапа восстанавливать будете?

anonymous
()

Проблема устранена.

приветствую о глубокоуважаемый Олл!

Зашился и потерял окошко с этим тредом, выпал из него. Сейчас обнаружил спустя практически месяц.

В итоге проблема была в битой таблице одной из баз. Нашли, исправили и все заработало. Граница 4Gb это не наш случай, сейчас прекрасно бэкапится, дамп = 13Gb и bzip2 это ужимает до 1.3Gb.

Напрягло что не видел репортов об ошибках от Backup-manager. С ним надо еще много разбираться. Буквально на днях обнаружил что он еще и каталоги не полностью бэкапит. Скажем занимает 789 а в бэкапе 623 Mb.

В общем еще копать, копать, копать.

Всех благ, 0лег.

n0mad ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.