Перенос базы данных MySQL с версии 4 на MySQL версии 5

В общем задача встала давно ибо сервер совсем старый, и бэкап надо делать…  Почитал в инете кто что советует и т.п… Типо вроде как сделать дамп базовый в старом MySQL потом его iconv или же enca конвертнуть, из кодировки windows-1251 в кодировку utf-8 и т.д и т.п… Да вот не задача iconv постоянно отваливается на какой-либо позиции с видом мол я знать не знаю что это за аргумент та.. Пакет enca вечно пытается восстановить якобы битый файл, спасало лишь одно: заливал к себе на рабочую машину файл открывал через KWriter выбирал кодировку windows-1251 и сохранял как utf-8… И все прекрасно зачухало на новом MySQL…

Так вот какое же мое огорчение было когда БД разросла на старом сервере еще он работает до размера с 1 гига — до размера в 2,5 гига и ЭТО ПОСЛЕ ОПТИМИЗАЦИИ!!! Решение:  Сервер MySQL новый сам все сделает, как?

1) Создаем на новом сервере BD-name в кодировке utf-8 (она там по дефолту…)

2) Делаем дамп на старом сервере:

mysql -u root -p --default-character-set=cp1251 BD > BD-name.sql

3) На новом сервере берем и также тупым способом заливаем дамп:

mysql -u root -p --default-character-set=utf8 BD-name < BD-name.sql

И все прекрасно воркает… Разве что MySQL дико притормаживает в момент заливки такого дампа. И в этот момент жрет ресурсы… А конвертировать и разбираться что в какой строке или позиции в файле весом в 2,5 гига что-то меня напрягает… Пусть уж MySQL все сам делает… И вот так уже не один перенос сделал… И мне все равно, что кодировка таблиц на новом сервере стоит cp1251 главное сайт работает корректно,  и бэкап нормальный делается и нормально портируется куда угодно…


Добавить комментарий