Задавайте вопросы, мы ответим
Вы не зашли.
Вот какая проблема возникла, может кто знает как решить, потому у меня кончились идеи как это сделать.
Исходные данные:
На первом хосте
Версия MySQL-клиента: 5.0.67
на втором хосте:
Версия MySQL-клиента: 5.0.51a
Есть также таблица, где некоторые из столбцов сжаты функцией Mysql COMPRESS()
Нужно перенести базу с одного хоста на другой, чтобы unCOMPRESS() этих сжатых столбцов корректно работал на втором хосте.
Я сделал импорт и вроде всё было ОК, сравнивал данные, которые вставились, они идентичны, но на втором хосте функция unCOMPRESS() выдаёт NULL, то есть не может расшифровать данные.
Также известно что если вставить какую-нибудь запись и сжать, то MySQL на втором хосте потом нормально распаковывает, то есть COMPRESS работает корректно.
Я проводил такой эксперимент:
Сжимал одинаковую строку на обоих хостах и смотрел результат. Он был идентичен.
Вот вопрос: в чём может быть проблема? почему при импорте не работает верно UnCOMPRESS.
Неактивен
А как Вы переносите базу? У Вас точно нет проблем с кодировками? Просто NULL
выдается тогда, когда у Вас битая строка. Что есть обычно результат неправильной
перекодировки.
Неактивен
хм... действительно
попробовал сжать 2 строки на первом сервере: одна была 'asdf', вторая 'фыва'. Потом экспортировал и импортировал на второй сервер. 'asdf' расшифровалась а 'фыва' - нет
Импорт делал так:
mysql -uюзер -pпароль имя_базы < имя_базы.sql
также пробовал:
mysql -uюзер -pпароль имя_базы --default-character-set=utf8 < имя_базы.sql
mysql -uюзер -pпароль имя_базы --default-character-set=cp1251 < имя_базы.sql
Отредактированно nightssss (13.10.2009 22:34:45)
Неактивен
А экспорт? Какой тип данных у колонки сжатой? Скорее всего, портится
всё уже на уровне экспорта в файлик. Самое правильное тут, наверное,
преобразовать колонки к соответствующим безкодировочным аналогам
(varchar → varbinary, text → blob, ...), экспортировать и импортировать уже
без каких-либо помех со стороны преобразования кодировок. Хотя, конечно,
разобраться в кодировках — тоже очень правильное и нужное умение
Неактивен
С кодировками не смог разобраться как ни пробовал, если бы данные были не сжаты я бы разобрался, а так, немного проблемно.
Изменял системные переменные которые связаны с кодировками (SHOW VARIABLES LIKE 'char%'), делал их одинаковыми на обоих серверах - не помогало. Да и даже при экспорте на первом сервере и импорте там же на первом сервере тоже проблемы при UnCOMPRESS возникали.
После преобразования в BLOB и использования шестнадцатеричного отображения для blob полей при экспорте проблема вроде решилась, спасибо за совет.
Отредактированно nightssss (14.10.2009 16:38:45)
Неактивен