Создание резервной копии бд некоторые заметки

Автор Mavn, 26 декабря 2011, 02:45:06

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Mavn

На днях нужно было перенести несколько проектов на новый сервак столкнулся с некоторыми проблемами при восстановлении бд.
1. Имеем кучу бд.
2. Самое замечательное в этой куче:
а.) Разные кодировки таблиц т.е. есть 20 таблиц в бд на эти 20 таблиц приходится 4 разные кодировки (cp1251_general_ci, utf8_bin, utf8_general_ci, latin1_general_ci)
б.) кодировка самой бд могла быть вообще еще в более извращенной кодировке
в.) под конец увидел что в одно таблице еще и поля были в разных кодировках
Я бы наверное "яйца оторвал" за такие дела людям которые это делали, ну да ладно суть не в этом наша задача не наводить порядок с бд ибо за это деньги не платят а просто перенести грамотно проекты, чтобы они оставались рабочими, на новом железе.
Как говорится человека уведомили о проблеме сказали что нужно делать а дальше уж пусть принимает решение. Ну ладно и это не вопрос собственно...

Так вот к чему весь разговор то веду...
Как вы думаете как сделать резервные копии всего этого колва некондиционных баз да еще и восстановить их на новом железе и самое главное без потери данных, чтобы проекты продолжили свою работу как и раньше

В общем некоторые мои шаги:
думаю всем знакома замечательная утилита Sypex Dumper, которая кстати меня практически всегда выручала(но не в этот раз, да и это понятно с таким то количеством кодировок) оказалась в текущем решении задачи бесполезной
посидев немного и подумав решил пойти немного другим путем - разбить дамп на несколько частей выделить таблицы с одной кодировкой в единый дамп и так по частям восстанавливать. Т.е. создавался дамп таблиц только cp1251_general_ci, utf8_general_ci и т.д  ну и соответственно по частям восстанавливал кусочки баз данных.

Так вот к чему весь разговор то веду. Тут у многих рано или поздно возникает вопрос переезда и так или иначе все делают резервные копии бд и прочего. Хотел обратить бы ваше внимание на следующих шагах:
1. Кодировка бд, кодировка таблиц и полей приводите их в единый формат бд.
2. Делая резервные копии проверяйте их читабельность и возможность восстановления. Ибо не каждая копия в итоге может оказаться рабочей
3. Всегда имейте под рукой несколько инструментов для работы. У каждого продукта есть плюсы минусы.
4. Прежде чем удалять старые базы убедитесь что у вас есть 100% рабочие копии.
5. В случае если уж удалили оригинал, а копия не читабельна, то восстановить данные из такой копии можно будет только в том случае если все данные не записаны в виде вопросительных знаков ? ? ?. Даже если ваша копия будет в кракозяблях ее можно будет восстановить, правда скорее всего придется обратится к специалистам, но всеже шанс восстановления данных будет очень высок.

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

PS Данная статья не о том какие программные продукты бывают, а о том как вы их используете.
Относительно Sypex Dumper - на мой взгляд это лучшая утилита для работы с бд, но как показала практика и она не идеальна. Да и в общем то о каком идеале может идти речь когда такой бедлам с бд творится :)))
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.


Mavn

да не можно и cp1251 вопрос же не в том какую кодировку использовать :)))
я к тому что если работать с какой то кодировкой то нужно чтобы все в ней было а то можно и на utf8 поставить а сравнение в таблиц будет cp1251 или latin1
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

Макар

Mavn, а не пробовал перенести сами "сорцы"  ?  .frm  .myd   .myi   должно срабатывать при условии одинаковых версий мускула (хотя и при разных не вижу причин для не принятия базы)
Если Вы здесь недавно, не обольщайтесь тоном некоторых дискуссий.
Все чаще слова - юзай поиск, приобретают смысл - иди в ж..........  Приобретение смысла автоматизированно - Ответы на любой вопрос по SMF
Не пишите несколько сообщений подряд - тут вам не Twitter  >:( в остальных ситуациях мы не сильно зверствуем 2funny

Mavn

можно конечно и так но посчитал что перенос mysqldump будет корректнее хотя в общем то разницы особо нет как делать
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

Макар

просто, когда надо очень быстро, прямо ну очень и есть доступ к серверу мускула то это самый быстрый метод
при отсутствии доступа к папке где лежат базы, ничего другого не остается как извращаться

и да

Цитата: Mavn от 26 декабря 2011, 02:45:06Кодировка бд, кодировка таблиц и полей приводите их в единый формат бд

миллион раз уже повторялось, а все равно доводят до состояния " помогите у меня кракозяблыЫыы......... "
Если Вы здесь недавно, не обольщайтесь тоном некоторых дискуссий.
Все чаще слова - юзай поиск, приобретают смысл - иди в ж..........  Приобретение смысла автоматизированно - Ответы на любой вопрос по SMF
Не пишите несколько сообщений подряд - тут вам не Twitter  >:( в остальных ситуациях мы не сильно зверствуем 2funny

Mavn

ну скажем так доступ был но мне было куда интереснее решить задачу именно таким способом по крайней мере теперь я точно знаю чего делать в случае возникновения такой проблемы и без доступа непосредственно к самим файлам бд
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.