В общем задача встала давно ибо сервер совсем старый, и бэкап надо делать… Почитал в инете кто что советует и т.п… Типо вроде как сделать дамп базовый в старом 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 главное сайт работает корректно, и бэкап нормальный делается и нормально портируется куда угодно…