Файлы MySQL, содержащие структуру и данные, всегда можно перемещать между различными версиями одной и той же архитектуры, если используется одна и та же базовая версия MySQL. В настоящее время базовой является версия с номером 3. При изменении кодировки во время работы MySQL (при этом также может измениться порядок сортировки) необходимо запустить myisamchk -r -q --set-character-set=charset на всех таблицах. В противном случае индексы могут сортироваться неправильно.
В случае недоверия к новым версиям всегда можно переименовать старую версию mysqld , изменив ее имя на что-нибудь вроде mysqld-old-version-number . Если после этого mysqld новой версии начнет вести себя не так, как ожидалось, то можно просто прекратить работу новой версии и перезапустить старую!
И, разумеется, при модернизации следует также сделать резервную копию старых баз данных.
После модернизации у вас могут возникнуть проблемы с перекомпилированными клиентскими программами, такими как Commands out of sync , или произойти неожиданная смерть приложения (coredump). Причина может быть в том, что при компиляции программ были использованы старые заголовочные или библиотечные файлы. В этом случае следует проверить даты создания вашего файла "mysql.h" и библиотеки "libmysqlclient.a", чтобы убедиться, что они из нового дистрибутива MySQL. Если это не так, то программы нужно перекомпилировать!
Если возникнут проблемы с запуском нового сервера mysqld или трудности с подключением без пароля, то нужно убедиться, что вы не используете старый файл "my.cnf" из старой установки! Это можно проверить с помощью program-name --print-defaults . Если эта программа вместо имени программы выводит что-нибудь иное, то ваш файл `my.cnf" является активным и оказывает влияние на ход событий!
Каждый раз при установке нового релиза MySQL есть смысл создавать наново и переустанавливать дистрибутив Msql-Mysql-modules , особенно если вы замечаете симптомы того, что ваши скрипты DBI умирают после модернизации MySQL.
Модернизация с версии 4.0
В общем случае, чтобы выполнить апгрейд до версии 4.1 с более ранней:
Далее идет более подробный список вещей, на которые следует обратить внимание при апгрейде на 4.1:
Функции, что возвращают DATE, DATETIME или TIME теперь фиксируются при отдаче клиенту.
mysql> SELECT cast("2001-1-1" as DATE) -> "2001-01-01"
Все столбцы и таблицы теперь имеют кодировку, которая показывается в выводе SHOW CREATE TABLE и mysqldump . (MySQL 4.0.6 и выше могут читать новые dump-файлы, но не прежние версии MySQL).
Временная метка (timestamp) теперь возвращается как строка вида "YYYY-MM-DD HH:MM:DD" . Если вы хотите получить ее как числов - вам следует добавить +0 к столбцу timestamp . Различные длины временных меток теперь не поддерживаются.
1 2 3 4 5
8 8 8
| |