Spec-Zone .ru
спецификации, руководства, описания, API
|
Двоичное обновление или упадок являются тем, который устанавливает одну версию MySQL "на месте" по существующей версии, не выводя и перезагружая таблицы:
Остановите сервер для существующей версии, если это работает.
Установите различную версию MySQL. Это - обновление, если новая версия выше чем оригинальная версия, упадок, если версия ниже.
Запустите сервер для новой версии.
Во многих случаях таблицы от предыдущей версии MySQL могут использоваться без проблемы новой версией. Однако, иногда изменения происходят, которые требуют таблиц, или таблица индексирует, чтобы быть восстановленной, как описано в этом разделе. Если у Вас есть таблицы, на которые влияет любая из проблем, описанных здесь, восстанавливают таблицы, или индексирует по мере необходимости использование инструкций, данных в Разделе 2.11.4, "Восстановление или Восстановление Таблиц, или Индексирует".
После двоичного обновления до MySQL 5.1 от установки MySQL 5.0, которая содержит ARCHIVE
таблицы, получая доступ к тем таблицам заставляют сервер отказывать, даже
если Вы выполнили mysql_upgrade или CHECK TABLE ... FOR UPGRADE
. Чтобы работать вокруг этой проблемы, используйте
mysqldump, чтобы вывести все ARCHIVE
таблицы перед обновлением, и перезагружают их в MySQL 5.1 после
обновления. Та же самая проблема происходит для двоичных упадков от MySQL 5.1 до 5.0.
Проблема обновления решается в MySQL 5.6.4: сервер может открыться ARCHIVE
таблицы составляются в MySQL 5.0. Однако, остается рекомендуемой
процедурой обновления выводить 5.0 ARCHIVE
таблицы прежде, чем обновить и перезагружают их после обновления.
В MySQL 5.6.3 предел длины для индексирует префиксные ключи, увеличивается от 767 байтов до 3072 байтов, для
InnoDB
табличное использование ROW_FORMAT=DYNAMIC
или
ROW_FORMAT=COMPRESSED
. См. Раздел
14.2.7, "Пределы на InnoDB
Таблицы" для деталей. Это изменение
также бэкпортируется к MySQL 5.5.14. Если Вы понижаете от одного из этих выпусков или выше к более раннему
выпуску с более низким пределом длины, индексировать префиксные ключи могли быть усеченными в 767 байтах, или
упадок мог перестать работать. Эта проблема могла только произойти если параметр конфигурации innodb_large_prefix
был включен на понижаемом сервере.
Если Вы выполняете двоичное обновление, не выводя и перезагружая таблицы, невозможно обновить непосредственно от
MySQL 4.1 до 5.1 или выше. Это происходит из-за несовместимого изменения в MyISAM
таблица индексирует формат в MySQL 5.0. Обновление от MySQL 4.1 до 5.0 и восстановление все MyISAM
таблицы. Затем обновление от MySQL 5.0 до 5.1 и проверка и восстановление
Ваши таблицы.
Модификации к обработке наборов символов или сопоставлений могли бы изменить символьный порядок сортировки, который вызывает упорядочивание записей в любом, индексируют, который использует набор символов, на который влияют, или сопоставление, чтобы быть неправильным. Такие изменения приводят к нескольким возможным проблемам:
Результаты сравнения, которые отличаются от предыдущих результатов
Неспособность найти некоторых индексирует значения из-за misordered элементов индекса
Misordered ORDER BY
результаты
Таблицы это CHECK
TABLE
отчеты как то, чтобы нуждаться в восстановлении
Решение этих проблем состоит в том, чтобы восстановить, любой индексирует то использование набор символов, на который влияют, или сопоставление, или отбрасывая и воссоздавая индексирование, или выводя и перезагружая всю таблицу. В некоторых случаях возможно изменить столбцы, на которые влияют, чтобы использовать различное сопоставление. Для получения информации о восстановлении индексирует, см. Раздел 2.11.4, "Восстанавливая или Восстанавливая Таблицы, или Индексирует".
Проверять, имеет ли таблица, индексирует, который должен быть восстановлен, консультироваться со следующим списком. Это указывает, какие версии MySQL представленные изменения набора символов или сопоставления, которые требуют, индексируют, чтобы быть восстановленными. Каждая запись указывает на версию, в которой изменение произошло и наборы символов или сопоставления, на которые влияет изменение. Если изменение связывается с определенным отчетом об ошибках, число ошибки дается.
Список применяется и для двоичных обновлений и для упадков. Например, Ошибка #27877 была исправлена в MySQL 5.1.24, таким образом, это применяется к обновлениям от версий, более старых чем 5.1.24 к 5.1.24 или более новый, и к упадкам от 5.1.24 или более новый для версий, более старых чем 5.1.24.
Во многих случаях можно использовать CHECK TABLE
... FOR UPGRADE
идентифицировать таблицы, для которых индексируют восстановление, требуется. Это
сообщит об этом сообщении:
Table upgrade required.Please do "REPAIR TABLE `tbl_name`" or dump/reload to fix it!
В этих случаях можно также использовать mysqlcheck - обновление проверки или mysql_upgrade, которые выполняются CHECK TABLE
. Однако, использование CHECK TABLE
применяется только после обновлений, не упадков. Кроме того, CHECK
TABLE
не применимо ко всем механизмам хранения. Для получения дополнительной информации то, о который
механизмы хранения CHECK TABLE
поддерживает, см. Раздел
13.7.2.2,"CHECK TABLE
Синтаксис".
Эти изменения причина индексируют восстановление, чтобы быть необходимыми:
MySQL 5.1.24 (Ошибка #27877)
Влияет индексирует то использование utf8_general_ci
или ucs2_general_ci
сопоставление для столбцов, которые содержат 'ß'
ЛАТИНСКАЯ СТРОЧНАЯ БУКВА SHARP S (немецкий язык). Исправление ошибки,
исправленное ошибка в исходных сопоставлениях, но представленный несовместимость так, что 'ß'
сравнивается равный символам, с которыми это ранее сравнилось
отличающийся.
Таблицы, на которые влияют, могут быть обнаружены CHECK TABLE ... FOR UPGRADE
с MySQL 5.1.30 (см. Ошибку #40053).
Обходное решение для этой проблемы реализуется с MySQL 5.1.62, 5.5.21, и 5.6.5. Обходное решение
включает изменение столбцы, на которые влияют, чтобы использовать utf8_general_mysql500_ci
и ucs2_general_mysql500_ci
сопоставления, которые сохраняют исходное
пред5.1.24 упорядочивание utf8_general_ci
и ucs2_general_ci
.
MySQL 5.0.48, 5.1.23 (Ошибка #27562)
Влияет индексирует то использование ascii_general_ci
сопоставление для
столбцов, которые содержат любой из этих символов: '`'
СЕРЬЕЗНЫЙ
ДИАКРИТИЧЕСКИЙ ЗНАК, '['
ЛЕВАЯ КВАДРАТНАЯ СКОБКА, '\'
ИНВЕРТИРУЙТЕ SOLIDUS, ']'
ПРАВАЯ
КВАДРАТНАЯ СКОБКА, '~'
ТИЛЬДА
Таблицы, на которые влияют, могут быть обнаружены CHECK TABLE ... FOR UPGRADE
с MySQL 5.1.29 (см. Ошибку #39585).
MySQL 5.0.48, 5.1.21 (Ошибка #29461)
Влияет индексирует для столбцов, которые используют любой из этих наборов символов: eucjpms
, euc_kr
, gb2312
,
latin7
, macce
, ujis
Таблицы, на которые влияют, могут быть обнаружены CHECK TABLE ... FOR UPGRADE
с MySQL 5.1.29 (см. Ошибку #39585).