forum.wfido.ru

forum.wfido.ru (https://forum.wfido.ru/index.php)
-   RU.LINUX (https://forum.wfido.ru/forumdisplay.php?f=83)
-   -   MySQL (https://forum.wfido.ru/showthread.php?t=12008)

Sergey Anohin 17.08.2016 16:41

MySQL
 
Sergey Anohin написал(а) к All в Feb 15 22:22:11 по местному времени:

Нello [i]All[/i]
На сколько безопасно восстанавливать из файлового бекапа таблицы MyISAM
таким способом, ессно без пеpезагpузки сабжа:

LOCK TABLE x WRITE;
FLUSН TABLE x; -- closes all file handles into table by mysql.
< perform file-level manipulations >
FLUSН TABLE x; -- A 'stat' of the table occurs and info-schema is updated appropriately.
UNLOCK TABLES;

Явно этот способ далеко не официальный. Есть ли дpугие способы восстановления из бекапа отдельных таблиц на ходу? Mysqldump неподходит по pяду пpичин, поэтому не pассматpивается изначально.

Bye, , 26 февpаля 15
--- FIPS/IP <build 01.14>

Alexey Vissarionov 17.08.2016 16:41

MySQL
 
Alexey Vissarionov написал(а) к Sergey Anohin в Feb 15 12:12:12 по местному времени:

Доброго времени суток, Sergey!
26 Feb 2015 22:22:10, ты -> All:

SA> На сколько безопасно восстанавливать из файлового бекапа таблицы
SA> MyISAM таким способом, ессно без пеpезагpузки сабжа:
SA> LOCK TABLE x WRITE;
SA> FLUSН TABLE x; -- closes all file handles into table by mysql.
SA> < perform file-level manipulations >
SA> FLUSН TABLE x; -- A 'stat' of the table occurs and info-schema is
SA> updated appropriately. UNLOCK TABLES;

Эээээ... шансы, конечно, есть - но я бы не советовал.

SA> Явно этот способ далеко не официальный.

Не то слово...

SA> Есть ли дpугие способы восстановления из бекапа отдельных таблиц на
SA> ходу? Mysqldump неподходит по pяду пpичин, поэтому не pассматpивается
SA> изначально.

А зря. Если дампить со вторичника (у тебя же настроена репликация, правда?) - первичник продолжает работать и обслуживать клиентов.


--
Alexey V. Vissarionov aka Gremlin from Kremlin
gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii

... Никогда не оставляйте в туалете кубик Рубика!
--- /bin/vi

Andrew Kant 17.08.2016 16:41

MySQL
 
Andrew Kant написал(а) к Sergey Anohin в Feb 15 11:23:31 по местному времени:

Нello Sergey!

Thursday February 26 2015 22:22, Sergey Anohin wrote to All:

SA> Явно этот способ далеко не официальный. Есть ли дpугие способы
SA> восстановления из бекапа отдельных таблиц на ходу?

SA> Mysqldump неподходит
SA> по pяду пpичин, поэтому не pассматpивается изначально.

Подними из бэкапа рядом другой (новый) сервер, а из него копируй данные штатными delete/insert (или даже update, но здесь думать надо, кого менять).
Конечно, если есть какая-то ссылочная целостность, то на момент вставки она накрывается.

Подменять файлы на лету как-то не правильно, это не оракл, у которого можно вывести тэйблспейс в оффлайн и подменить (что тоже, кстати, не так просто).
Уж лучше положить файл с другим именем, а потом drop на старую таблицу и rename новую в старую.


Good bye!
Andrew

--- GoldED+/W32 1.1.4.7

Sergey Anohin 17.08.2016 16:41

MySQL
 
Sergey Anohin написал(а) к Alexey Vissarionov в Feb 15 20:09:53 по местному времени:

Нello, Alexey!

SA>> На сколько безопасно восстанавливать из файлового бекапа таблицы
SA>> MyISAM таким способом, ессно без пеpезагpузки сабжа:
SA>> LOCK TABLE x WRITE;
SA>> FLUSН TABLE x; -- closes all file handles into table by mysql.
SA>> < perform file-level manipulations >
SA>> FLUSН TABLE x; -- A 'stat' of the table occurs and info-schema is
SA>> updated appropriately. UNLOCK TABLES;
> Эээээ... шансы, конечно, есть - но я бы не советовал.

Источник
[url]http://stackoverflow.com/questions/1960845/mysql-backup-can-i-copying-individual-myisam-table-files-to-another-server-with[/url]

SA>> Явно этот способ далеко не официальный.
> Не то слово...

Но по логике вроде ничего страшного. по логике, а по факту хз пока.

SA>> Есть ли дpугие способы восстановления из бекапа отдельных таблиц на
SA>> ходу? Mysqldump неподходит по pяду пpичин, поэтому не pассматpивается
SA>> изначально.
> А зря. Если дампить со вторичника (у тебя же настроена репликация, правда?) - первичник продолжает работать и обслуживать клиентов.

Ну в моем случае тут невозможна репликация по ряду причин. Да и не нужна. И вообще дамп это хорошо только для маленьких баз.
Я пользуюсь Percona Xtrabackup чья скорость соизмерима со скоростью простого копирования файлов. И к тому же InnoDB не блочится.

Ваще я сейчас скептичен к репликации. Настраивал у нас один товарищ ее, вроде сделал из статью на хабре, ну там мастер слейв-репликация с
использованием бинлогов... В 150 раз медленнее некоторые запросы обрабатывались. Втопку такую репликацию, свинтили...Стало нормально.

С наилучшими пожеланиями, Sergey Anohin.

--- wfido

Sergey Anohin 17.08.2016 16:41

MySQL
 
Sergey Anohin написал(а) к Andrew Kant в Feb 15 20:21:30 по местному времени:

Нello, Andrew!

SA>> Явно этот способ далеко не официальный. Есть ли дpугие способы
SA>> восстановления из бекапа отдельных таблиц на ходу?
SA>> Mysqldump неподходит
SA>> по pяду пpичин, поэтому не pассматpивается изначально.
> Подними из бэкапа рядом другой (новый) сервер, а из него копируй данные штатными delete/insert (или даже update, но здесь думать надо, кого менять).
> Конечно, если есть какая-то ссылочная целостность, то на момент вставки она накрывается.

Ну про второй сервер это я тоже в уме держу, но то муторно немного.

> Подменять файлы на лету как-то не правильно, это не оракл, у которого можно вывести тэйблспейс в оффлайн и подменить (что тоже, кстати, не так просто).

Ну про таблеспейс это ты уже в InnoDB ушел? :)
Ваще конечно не официальная дока, да и не дока вовсе, но тут:
[url]http://www.phpdistiller.net/backup-and-restore-myisam-innodb-databases/[/url]

написано:
"With MyISAM, it’s extremely easy to backup / restore your databases. Even if that’s not the recommended way to do it, a simple copy and paste of the database folder works. "
"Unlike MyISAM, InnoDB databases cannot be copied individually. If you do so with the entire folder, it’ll work. But you cannot do it with just one or several databases. This part will explain why." Ваще про оракл читал что там восстанавить InnoDB таблицу можно если только ibd файл "чистый" и таблица не была дропана, транкатена, и еще че-та, что
тоже никто не гарантирует :) На сайте Percona написано что восстанавливать можно из ibd файлов, но начиная с версии MySQL 5.6. Что весьма положительный момент.
Но и то там создается новая таблица и просто в нее делается импорт, а уж потом можно дропнуть корявую, и переименовать новую.

> Уж лучше положить файл с другим именем, а потом drop на старую таблицу и rename новую в старую.

Ну это тож вариан. Ваще касаемо MyISAM была дилема с кешем, но вроде как Flush сбрасывает его. В теории ничего страшного не должно произойти.

С наилучшими пожеланиями, Sergey Anohin.

--- wfido

Andrew Kant 17.08.2016 16:41

MySQL
 
Andrew Kant написал(а) к Sergey Anohin в Feb 15 20:08:34 по местному времени:

Нello Sergey!

Friday February 27 2015 20:21, Sergey Anohin wrote to Andrew Kant:

>> Уж лучше положить файл с другим именем, а потом drop на старую таблицу
>> и rename новую в старую.

SA> Ну это тож вариан. Ваще касаемо MyISAM была дилема с кешем, но вроде как
SA> Flush сбрасывает его. В теории ничего страшного не должно произойти.

Тебе потрепаться или дело сделать? Пробуй - практика критерий истинности, идеи получил, дальше сам.

Good bye!
Andrew

--- GoldED+/W32 1.1.4.7

Sergey Anohin 17.08.2016 16:41

MySQL
 
Sergey Anohin написал(а) к Andrew Kant в Feb 15 21:55:14 по местному времени:

Нello, Andrew!

SA>> Ну это тож вариан. Ваще касаемо MyISAM была дилема с кешем, но вроде как
SA>> Flush сбрасывает его. В теории ничего страшного не должно произойти.
> Тебе потрепаться или дело сделать? Пробуй - практика критерий истинности, идеи получил, дальше сам.

На самом деле проверить очень трудно. Нужно как-то воссоздать реальные условия работы базы.

С наилучшими пожеланиями, Sergey Anohin.

--- wfido

Vladimir Kalachikhin 17.08.2016 16:41

MySQL
 
Vladimir Kalachikhin написал(а) к Sergey Anohin в Feb 15 20:57:51 по местному времени:

Нello, Sergey!

> В теории ничего страшного не должно произойти.

Ничего страшного не произойдёт, если тебя не волнует ссылочная целостность. Т.е., если вставляемая таблица самодостаточна.

WBR, Vladimir Kalachikhin.

--- wfido

Sergey Anohin 17.08.2016 16:41

MySQL
 
Sergey Anohin написал(а) к Vladimir Kalachikhin в Feb 15 23:00:34 по местному времени:

Нello, Vladimir!

> Нello, Sergey!
>> В теории ничего страшного не должно произойти.
> Ничего страшного не произойдёт, если тебя не волнует ссылочная целостность. Т.е., если вставляемая таблица самодостаточна.

Да, только вот хотелось универсальный вариант, в таком случае он не универсальный :)
То есть нужно знать о базе и о таблице, что там с ссылками, есть ли они иль нет...

С наилучшими пожеланиями, Sergey Anohin.

--- wfido

Vladimir Kalachikhin 17.08.2016 16:41

MySQL
 
Vladimir Kalachikhin написал(а) к Sergey Anohin в Mar 15 13:30:07 по местному времени:

Нello, Sergey!

> Да, только вот хотелось универсальный вариант

Тогда надо читать мануал и думать головой. А в мануале явно написано - корректный бекап/восстановление без остановки сервера невозможен. И, если подумать - это вполне понятно, почему, и не вызывает возражений.
Если совсем нельзя останавливать сервер - альтернативы зеркалированию нет. А что медленно - ну, вы сами хотели...

Поэтому народ, в среднем (ну, у меня сложилось впечатление...) поступает так: останавливает сервер, файлово копирует базу на другой диск, запускает сервер. Время простоя минимизировано, копия корректна.

WBR, Vladimir Kalachikhin.

--- wfido


Текущее время: 02:20. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot