MySQL

:: DEVELOPER ZONE

Login / Register

  • MySQL.com
  • Developer Zone
  • Partners
  • Online Shop
  • Downloads
  • Documentation
  • Forums
  • Lists
  • Bugs
  • Events
  • User Groups
  • Guilds
  • Blogs
  • Support
  • Resources
  • Books
  • FAQ

Справочное руководство по MySQL 4.0. :: 2 Установка MySQL :: 2.5 Апгрейд/даунгрейд MySQL :: 2.5.5 Модернизация с версии 3.20 до версии 3.21

  • Overview
  • MySQL Reference Manual
  • MaxDB Documentation
  • Connectors

Search the MySQL manual:


  • Справочное руководство по MySQL 4.0.

  • 2.5 Апгрейд/даунгрейд MySQL
  • 2.5.1 Модернизация с версии 4.0
  • 2.5.2 Модернизация с версии 3.23 до версии 4.0
  • 2.5.3 Модернизация с версии 3.22 до версии 3.23
  • 2.5.4 Модернизация с версии 3.21 до версии 3.22
  • 2.5.5 Модернизация с версии 3.20 до версии 3.21
  • 2.5.6 Модернизация к иной архитектуре

Get the MySQL Language Reference and MySQL Administrator's Guide from MySQL Press!


Additional languages

  • German


Learn about new MySQL releases, technical articles, events and more.

Subscribe to the monthly MySQL Newsletter!


Previous / Next / Up / Table of Contents

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.


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.

Top / Previous / Next / Up / Table of Contents

© 1995-2005 MySQL AB. All rights reserved.

  • About MySQL
  • Careers
  • Site Map
  • Contact Us
  • Legal
  • Privacy Policy
  • Trademark Info
  • No Software Patents!