On Thu, 07 Aug 2008 19:45:02 +0400
Aleksey E. Birukov wrote:

> Есть файлы базы из /var/lib/mysql/db/host1248. База создавалась на mysql 
> версии 4. Соответственно на версии 5. Проблема с кодировкой. Как можно 
> ее решить?

Как обычно - понять, в чём проблема, и что нужно получить. Далее
определиться с нужными шагами.

В общем случае, надо получать dump надо в той же кодировке
(неправильной!), которая указана в базе. Иначе умный MySQL будет
выполнять неизвестно какие преобразования с непонятными последствиями. 

Затем в полученном dump'е надо переправить _записи_ о кодировке таблиц
на правильные. Указать в заголовке dump'а правильный SET NAMES, и
залить всё обратно.

В частных случаях может потребоваться ещё править записи внутри dump'а,
если там вдруг окажутся недопустимые для кодировки символы.
 
> Я попробовал на 5-ой версии дамп сделать -- ошибка:
> mysqldump: Error 1194: Table 'sml_stat_hosts' is marked as crashed and 
> should be repaired when dumping table `sml_stat_hosts` at row: 1746290
    ^^^^^^^^^^^^
Оно даже говорит, что надо сделать.
$ echo "repair table sml_stat_hosts extended;" | \
  mysql -u root -p host1248

> Причем я пробовал эту таблицу починить через phpMyAdmin
А здесь может быть столько всего разного... Начиная, например, от
ограничений на время выполнения скрипта.


-- 
С уважением,    
Николай Фетисов
_______________________________________________
Sysadmins mailing list
Sysadmins@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/sysadmins

Ответить