Документация MySQL

07.07.2007

В общем случае, вот что вам следует сделать для апгрейда к версии 4.0 с более старой:
чтобы добавить новые
привилегии и возможности в таблицы привилегий MySQL.
Подредактировать скрипты запуска MySQL или конфигурационные файлы, чтобы не использовать
устаревшие опции, описанные ниже.
.
Обратите внимание, это нужно делать только если все таблицы в базе данных
являются таблицами типа ISAM или MyISAM. Если это не тот случай, вам тогда
следует выполнить
для всех
ISAM-таблиц.
Удостоверьтесь, что у вас не используется никакие клиенты MySQL, что используют
динамические библиотеки (например, Perl Msql-Mysql-modules). Если у вас есть
такие, их следует перекомпилировать, т.к. структуры в
'libmysqlclient.so'
изменились.
MySQL 4.0 будет работать, даже если вы не выполните эти шагы, но у вас
не будет возможности использовать новые привилегии, которые предоставляет MySQL 4.0,
и у вас могут быть проблемы при дальнейшем апгрейде к 4.1 или более новым серверам.
Формат ISAM в MySQL 4.0 все еще работает, но он уже морально устарел и будет исключен
из версии MySQL 5.0.
Старые клиенты должны работать с версией 4.0 без каких-либо проблем.
И даже если вы выполните эти шаги, вы сможете произвести даунгрейд к
MySQL 3.23.52 или более новой, если у вас возникнут проблемы с MySQL 4.0. В этом
случае вам потребуется выполнить mysqldump на всех таблицах, использующих полнотекстовые
индексы и восстановить dump на версии 3.23. Причина заключается в том, что MySQL 4.0
использует новый формат полнотекстовых индексов.
Вот подробный список того, на что следует обратить внимание при апгрейде к 4.0:
В MySQL 4.0 появилось большое количество новых привилегий в таблице
mysql.user
. See section
.

Чтобы заставить эти
новые привилегии работать, следует запустить скрипт
. До выполнения данного скрипта у всех
пользователей будут привилегии
,
. Значения для привилегий
, для
.

Чтобы скрипты, создающие новых пользователей, могли использовать новые
привилегии, их нужно модифицировать. Если в этих скриптах не
используется команда
, то сейчас самое время изменить их.

В версии
4.0.2 опция
устарела и не рекомендуется (и она
больше ничего не делает). See section
, относящиеся к безопасности
.

Если в версии 4.0.2 для новых пользователей
возникают ошибки отказа в доступе, то следует проверить, не требуются
ли вам некоторые новые привилегии, которые не были нужны раньше. В
частности, для новых репликаций понадобится
).
теперь указываются в байтах (до 4.0.3
указывались в мегабайтах).

Внешняя блокировка файлов MyISAM/ISAM теперь выключена по умолчанию. Можно
включить ее обратно опцией
. Для большинства
пользователей этого никогда не потребуется делать.
,
все
еще работают в MySQL 4.0, но считаются уже морально устаревшими.
Следующие SQL-переменные переименованы.
Старые имена в MySQL 4.0 работают, но уже не рекомендованы к использованию.
.
.
теперь возвращает пустой результат если двоичный журнал обновлений
не включен.
возвращает пустой результат если подчиненный сервер не инициализирован.
включенной по умолчанию, т.к. это
дает лучшую производительность на некоторых ОС (в основном, на Linux).
игнорировался для этих столбцов).
в первую очередь; в 3.23 это было не всегда так. Внимание: в MySQL 4.0.11 восстанавлено
оригинальное поведение.
), чем в версии
3.23.
,
,
теперь являются зарезервированными словами.
,
,
,
сейчас
является беззнаковым. Это может вызвать проблемы при использовании их
в контексте, где желателен результат со знаком. See section
.
Замечание : результат операции вычитания между целыми величинами, одна
из которых имеет тип
, будет беззнаковым! Другими словами,
перед модернизацией до MySQL 4.0 вы должны проверить свои приложения
для случаев, где производится вычитание величины из беззнакового
объекта и предполагается ответ с отрицательным знаком, или вычитание
беззнаковой величины из целочисленного столбца. Данный режим можно
заблокировать, используя опцию
. See section
.
MATCH ... AGAINST (... IN BOOLEAN MODE)
на
таблицах, следует перестроить их заново при помощи
.
чувствительны к регистру, если один из аргументов
является двоичной строкой. В противном случае они не зависят от
регистра.
при выполнении сравнений сейчас использует текущий набор
символов; это означает, что операция сравнения по умолчанию начиная с
данной версии является независимой от регистра.
сейчас возвращает символы строки, преобразованные в
шестнадцатеричные. Если необходимо преобразовать число в
шестнадцатеричное представление, убедитесь, что
вызывается с
числовым аргументом.
В версии 3.23 в команде
INSERT INTO ... SELECT
всегда
был разрешен. В версии 4.0.1 MySQL остановится (и, возможно,
произойдет откат) в случае ошибки, если
не задан явно.
. Некоторое время
мы будем включать
.
,
больше не будут поддерживаться, если вы не скомпилируете MySQL с
). Вместо перекомпиляции лучше пересобрать
клиента для использования нового 4.0 API.
. Это не должно вызывать проблем, за
исключением того, что при использовании величин с такими типами в
качестве аргументов в функциях класса
могут генерироваться
предупреждающие сообщения.
Если необходимо удалить из таблицы все строки, но вам не нужно знать,
сколько строк было удалено, следует использовать
значительно быстрее, чем
).
или транзакции вы получите ошибку.
необходимо использовать целые
числа (вместо строк, как было в MySQL 3.23). Возможность использования
строк для данного случая пока еще работает, но применение целых чисел
более эффективно.
.
. See section
.
1.2218 или более новую, поскольку в
более старых модулях
.
В версии 4.0
возвращает иные последовательности случайных
чисел, чем в 3.23; это сделано для того, чтобы лучше различать
.
Тип результата, возвращаемый
IFNULL(A,B)
. Порядок
выбора -
,
.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Рубрики: Без рубрики |

Оставить комментарий

Заметьте: Включена проверка комментариев. Нет смысла повторно отправлять комментарий.