Spec-Zone .ru
спецификации, руководства, описания, API
|
Как правило, чтобы обновить от одного ряда выпуска до другого, пойдите в следующий ряд вместо того, чтобы пропустить ряд. Чтобы обновить от ряда выпуска до MySQL 5.6, обновите до каждого последовательного ряда выпуска поочередно, пока Вы не достигли MySQL 5.6, и затем продолжаете с обновлением до MySQL 5.7. Например, если Вы в настоящий момент выполняете MySQL 5.1 и желание обновить до более нового ряда, обновите до MySQL 5.5 сначала прежде, чем обновить до 5.6 и т.д. Для получения информации об обновлении до MySQL 5.6 см. Справочник MySQL 5.6.
Чтобы обновить до MySQL 5.7, используйте элементы в следующем контрольном списке как руководство:
Перед любым обновлением поддержите свои базы данных, включая mysql
база данных, которая содержит таблицы предоставления. См. Раздел
7.2, "Методы Резервного копирования базы данных".
Считайте все примечания в Разделе 2.11.1.1, "Обновляя от MySQL 5.6 до 5.7". Эти примечания позволяют Вам идентифицировать проблемы обновления, которые применяются к Вашей текущей установке MySQL. Некоторые несовместимости, обсужденные в том разделе, требуют Вашего внимания перед обновлением. Другие требуют некоторого действия после обновления.
Считайте
После обновления до новой версии MySQL, выполненный mysql_upgrade (см. Раздел 4.4.7, "mysql_upgrade — Таблицы MySQL Check и Upgrade" ). Эта программа проверяет Ваши таблицы, и пытается восстановить их в случае необходимости. Это также обновляет Ваши таблицы предоставления, чтобы удостовериться, что у них есть текущая структура так, чтобы можно было использовать в своих интересах любые новые возможности. (Некоторые выпуски MySQL представляют изменения структуре таблиц предоставления, чтобы добавить новые полномочия или функции.)
mysql_upgrade не обновляет содержание таблиц справки. Для инструкций обновления см. Раздел 5.1.10, "Серверная Справка".
mysql_upgrade
не должен использоваться, когда сервер работает с --gtid-mode=ON
, так как это может произвести изменения в
нетранзакционных системных таблицах в mysql
база данных, многие из
которых MyISAM
и не
может быть изменен, чтобы использовать различный механизм хранения. См. режим
GTID и mysql_upgrade.
Если Вы выполняете MySQL Server на Windows, см. Раздел 2.3.7, "Обновляя MySQL на Windows".
Если Вы используете репликацию, см. Раздел 16.4.3, "Обновляя Установку Репликации", для информации об обновлении Вашей репликации устанавливают.
Если Вы обновляете установку, первоначально произведенную, устанавливая многократные пакеты ОБ/МИН, лучше обновлять все пакеты, не только некоторых. Например, если Вы ранее устанавливали сервер и клиентские ОБОРОТЫ В МИНУТУ, не обновляйте только ОБ/МИН сервера.
Если Вы создали определяемую пользователем функцию (UDF) с именем и обновляете
MySQL до версии, которая реализует новую встроенную функцию с тем же самым именем, UDF становится
недоступным. Чтобы исправить это, использовать DROP FUNCTION
отбрасывать UDF, и затем использовать CREATE FUNCTION
воссоздать UDF с различным неконфликтным именем. То
же самое является истиной, если новая версия MySQL реализует встроенную функцию с тем же самым именем
как существующая сохраненная функция. См. Раздел
9.2.4, "Парсинг имени функции и Разрешение", для правил, описывающих, как сервер
интерпретирует ссылки на различные виды функций.
Поскольку обновления между версиями MySQL выпускают ряд, который достиг состояния Общедоступности, можно переместить файлы формата MySQL и файлы данных между различными версиями на системах с той же самой архитектурой. Поскольку обновления до версии MySQL выпускают ряд, который находится в статусе разработки, который не обязательно истинен. Использование выпусков разработки на ваш собственный риск.
Если Вы осторожны об использовании новых версий, можно всегда переименовывать свой старый mysqld прежде, чем установить более новый. Например, если Вы используете версию MySQL 5.6 и хотите обновить до 5.7, переименуйте свой текущий сервер от mysqld до mysqld-5.6. Если Ваш новый mysqld тогда делает что-то неожиданное, можно просто завершить работу этого и перезапустить с Вашим старым mysqld.
Если проблемы происходят, такие как это, новый mysqld сервер не запускается или что невозможно соединиться без
пароля, проверить, что у Вас нет старого my.cnf
файл от Вашей предыдущей
установки. Можно проверить это с --print-defaults
опция (например, mysqld - значения по умолчанию печати). Если эта команда
выводит на экран что-нибудь кроме названия программы, у Вас есть активное my.cnf
файл, который влияет на сервер или клиентскую работу.
Если после обновления Вы испытываете проблемы со скомпилированными клиентскими программами, такой как Commands out of sync
или неожиданные дампы ядра, Вы, вероятно, использовали старый
заголовок или файлы библиотеки, компилируя Ваши программы. В этом случае проверьте дату Вашего mysql.h
файл и libmysqlclient.a
библиотека, чтобы
проверить, что они от нового распределения MySQL. В противном случае перекомпилируйте свои программы с новыми
заголовками и библиотеками. Перекомпиляция могла бы также быть необходимой для программ, скомпилированных против
совместно используемой клиентской библиотеки, если номер основной версии библиотеки изменился (например от libmysqlclient.so.15
к libmysqlclient.so.16
.
Если Ваша установка MySQL содержит большой объем данных, который мог бы занять много времени, чтобы
преобразовать после оперативного обновления, Вы могли бы счесть полезным создать "фиктивный" экземпляр базы данных для того, чтобы оценить, какие
преобразования могли бы быть необходимы и работа, включенная, чтобы выполнить их. Сделайте копию своего
экземпляра MySQL, который содержит полную копию mysql
база данных, плюс все другие
базы данных без данных. Выполните свою процедуру обновления на этом фиктивном экземпляре, чтобы видеть, какие
действия могли бы быть необходимы так, чтобы можно было лучше оценить работу, включенную, выполняя фактическое
преобразование данных на Вашем исходном экземпляре базы данных.
Это - хорошая идея восстановить и переустановить Perl DBD::mysql
модуль всякий раз,
когда Вы устанавливаете новый выпуск MySQL. То же самое применяется к другим интерфейсам MySQL также, таким как
PHP mysql
расширения и Python MySQLdb
модуль.