поиск:
Полезные ссылки

  • Форум по MySQL

  • Статьи по MySQL

  • Вопросы по MySQL

  • MySQL.com


  • Базы данных

  • MySQL

  • PostgreSQL


  • PHP конференция 2005
    Подробности!

    2.5.5. Модернизация с версии 3.20 до версии 3.21

    Если вы работаете с версией выше, чем 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.

     
    © 1997-2005 PHP Club Team
    Rambler's Top100