2.5 Апгрейд/даунгрейд MySQL
Файлы 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.
Главы