LINUX.ORG.RU

Для начала поэксперементируй с опциями дампа - найди причину «затупов».

tazhate ★★★★★
()

В чём выражаются затупы?

А так, я ещё использую помимо mysqldump'а bacula, но там бекап не только мускля.

shell-script ★★★★★
()

Если бинарные логи транзакций хранятся с самого начала и в полном виде, то можно делать их бекапы.

ktulhu666 ☆☆☆
()
Ответ на: комментарий от shell-script

Вот в этом

mysqldump: Error: 'Got error 28 from storage engine' when trying to dump tablespaces
mysqldump: Couldn't execute 'show fields from `admin_login_logs`': Got error 28 from storage engine (1030)
mysqldump: Couldn't execute 'SHOW TRIGGERS LIKE 'admin\_login\_logs'': Got error 28 from storage engine (1030)
mysqldump: Couldn't execute 'show fields from `admin_logs`': Got error 28 from storage engine (1030)
запуска так
`mysqldump -f --quick --opt -u backup --password=*******--databases forum >$forum 2>/etc/mannaz/mannaz.log`

mannaz2004
() автор топика
Ответ на: комментарий от dmiceman
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/xvda1             8256952   2233964   5603564  29% /
tmpfs                   256512         0    256512   0% /lib/init/rw
udev                    246092        20    246072   1% /dev
tmpfs                   256512         4    256508   1% /dev/shm
mannaz2004
() автор топика
Ответ на: комментарий от dmiceman

Проста мне кажеться мой дам не сможет занять 200 мег tmp! На винте как бы место хватает! Где база тоже хватает!

mannaz2004
() автор топика
Ответ на: комментарий от shell-script

Да как бы я посмотрел! Внизу приложил комент! Вся трагичность ситуации следующая что дам делается раз через раз! Но самое интересное что если я запущу сам срипт то из 10 раз 10 будет 100% ризультат а вот если запускает cron то то 70% что будет всё нормально а так тока кусок базы! Я уже устал бороться с этим mysqldump

mannaz2004
() автор топика
Ответ на: комментарий от dmiceman

Очевидно, что, используя (полные) бинарные логи, можно «проиграть» запросы транзакций к базе, получив ту же базу. Является очень ценной технологией (особенно в финансовой сфере), т.к. (как оказалось) БД-ПО может глючить, а БД может при этом даже повредиться (что не сразу может быть замечено).

ktulhu666 ☆☆☆
()
Последнее исправление: ktulhu666 (всего исправлений: 1)
Ответ на: комментарий от leave
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/xvda1            524288   68079  456209   13% /
tmpfs                  64128       4   64124    1% /lib/init/rw
udev                   61523     385   61138    1% /dev
tmpfs                  64128       3   64125    1% /dev/shm
mannaz2004
() автор топика
Ответ на: комментарий от ktulhu666

А по подробней? Я так понимаю что настраиваю бинарный лог и раз в сутки я его копирую? Копировать можно на горячею не останавливая mysql? Я так понимаю будут записываться тока транзакции, но если я настраиваю бинарный лог то попадет в него то что есть сейчас ? или тока транзакции которые после включения бинарного лога ?

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

Неа, рассматривали как замена mysqldump, но что-то нас в ней не устроило, не помню что.

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

-u backup --password=*******

Не надо так делать. Лучше задай логин и пароль в ~/.my.cnf у пользователя, от имени которого делаются резервные копии.

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

тока транзакции которые после включения бинарного лога

Но никто не мешает сделать бекап дампом, потом его восстановить на чистую mysql, которая уже использует лог транзакций (такой же метод (насколько я знаю) используется для уменьшения размера бинарных логов, если есть паранойя по поводу базы (финансы). Хотя, в обычном случае, достаточно не давать другим клиентам подключиться (перевод в ro), слить дамп, удалить логи транзакций, перезапустить уже в rw. Тогда для восстановления будет нужен тот дамп+дапм последующих транзакций.).

Однако, данный метод (бекап и восстановление через лог транзакций) может быть весьма затратен на больших ресурсах, некритичных к потере пары транзакций (сайты). Во-первых, объем логов будет равен числу RW-операций, во-вторых скорость проигрывания таких логов меньше скорости проигрывания дампа из-за куда большего числа транзакций (все, а не текущего результирующего временного среза).

В случае говнопроектов (говносайт, говнобухгалтерия и т.д.) я рекомендую использовать снапшоты/прямое копирование с остановкой mysql-сервера (ночью) и тупа копирования (архивировния) тупо файлов БД. При использовании снапшотов (COW) остановка mysql нужна только для создания снапшота, далее можно сделать бекап из подмонтированного снапшота (или вообще не делать).

Что касаемо теории курицы (записи в конечный файл БД) или яйца (записи в бинарный лог транзакций), то тут вопрос очевиден: скачала яйцо, потом курица, чтобы сохранять консистентность (как в ФС журнал).

ktulhu666 ☆☆☆
()

Я сейчас подумал, что в случае не-фин проекта, снапшоты можно делать даже в случае текущей записи в БД без остановки сервера (желательно всё-таки тогда применять и бинарные логи, на всякий пожарный). В такой ситуации полученный срез хотя и не будет полностью консистентен, для mysql это будет выглядеть как внезапная потеря питания или kill -9. Тогда как в случае обычного tar-бекапа без блокировки записи файл будет неконсистентным («начальные» регионы файла БД успеют замениться, пока будут читаться «конечные», в результате мы получим сбойный файл).

ktulhu666 ☆☆☆
()
Ответ на: комментарий от mannaz2004

И ещё: mysqldump затыкается - это значит «приостанавливается и не продолжается» или «медленно идет с какого-то места»? Если первое, что смотрите лог (который с ошибками/отчетами, а не транзакций), т.к. может иметь место баг или повреждение БД.

ktulhu666 ☆☆☆
()
Ответ на: комментарий от shell-script

bacula

А каким образом bacula делает бекап мускуля?

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

Так я уже ошибку написал! Гугол говорит места мало! Но бывает странные ситуации, что раз делается полностью а бывает косячный!

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

Я так понимаю что альтернатив нет mysqldump всё плохо!

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

А какая разница? Как мне это поможет?

Разница в том, что при задании пароля в конфиг-файле, он (пароль) не засветится в /proc/$PID/cmdline. Но описанные тобой проблемы, естественно, это не решит.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Он и так не светится, в принципе:

rain@elitebook:~$ ps axu | grep ' mysql '
rain 11099 0.0 0.0 40464 3012 pts/7 S+ 09:58 0:00 mysql -hlocalhost -uroot -px xxxxx
rain@elitebook:~$ sudo cat /proc/11099/cmdline
mysql-hlocalhost-uroot-pxxxxxx

Но спрятать не помешает, да

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

Он и так не светится, в принципе:

Он светится, просто недолго. Утилита mysql затирает его в памяти после запуска. Но тем не менее, между запуском процесса и выполнением кода затирки пароля всегда будет какой-то промежуток времени, когда пароль виден.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от mannaz2004

На любой файловой системе с поддержкой снапшотов :) Если нельзя переразметить диск, то можно сделать lo-файл и его через lo-setup как блочное устройство монтировать (либо сразу mount --loop)

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