Если вы работаете с версией выше, чем 3.20.28, и хотите перейти к 3.21, то необходимо сделать следующее:
Можно запустить сервер
mysqld версии 3.21 с опцией
safe_mysqld --old-protocol, чтобы
использовать его с клиентами из
дистрибутива версии 3.20. В этом
случае функция mysql_errno()
нового клиента не возвращает
никаких серверных ошибок, кроме
CR_UNKNOWN_ERROR (она
предназначена для клиентских
ошибок), при этом сервер использует
не новую, а старую функцию проверки
password().
Если вы не собираетесь
использовать опцию
--old-protocol к mysqld,
то необходимо будет выполнить
следующие изменения:
Весь клиентский код следует
перекомпилировать. Для
использования ODBC необходимо
приобрести новый драйвер
MyODBC 2.x.
Необходимо запустить скрипт
scripts/add_long_password для
преобразования поля
Password в таблице
mysql.user к
CHAR(16).
Все пароли в таблице
mysql.user должны быть
переназначены (чтобы получить 62-
разрядные пароли вместо 31-
разрядных).
Формат таблиц не изменялся, следовательно, в преобразовании каких-либо таблиц необходимости нет.
Версия MySQL 3.20.28 и выше может
обрабатывать новый формат таблиц
user так, что это не
отражается на клиентах. В более
ранних, чем 3.20.28, версиях MySQL пароли
больше не будут работать с
клиентами, если таблица
user преобразована. Для
уверенности следует прежде
провести апгрейд по меньшей мере
до версии 3.20.28 и затем
модернизировать до версии 3.21.
Новый код клиента работает с
сервером mysqld версии 3.20.x,
так что в случае каких-либо проблем
с версией 3.21.x можно использовать
старый сервер 3.20.x без
необходимости повторной
перекомпиляции клиентов.
Если не применить опцию
--old-protocol для
mysqld, то старые клиенты
выдадут следующее сообщение об
ошибке:
ERROR: Protocol mismatch. Server Version = 10 Client Version = 9
Новый интерфейс Perl
DBI/DBD также
поддерживает старый интерфейс
mysqlperl. Единственное
изменение, которое следует
произвести при использовании
mysqlperl, модифицировать
аргументы в функции
connect(). Новыми
аргументами являются:
host, database,
user, и password
(аргументы user и
password поменялись
местами). See Раздел 8.2.2, «Интерфейс DBI».
Ниже перечислены изменения, которые могут повлиять на запросы в старых приложениях:
HAVING теперь необходимо
указывать перед любым
выражением ORDER BY.
Произведена замена параметров в
LOCATE().
Появилось несколько новых
зарезервированных слов.
Наиболее значимыми из них
являются DATE,
TIME и TIMESTAMP.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.
© 1995-2005 MySQL AB. All rights reserved.
