Перейти к содержанию

Устаревшая функциональность в версии 8.0

  • Набор символов utf8mb3 устарел. Вместо этого используйте utf8mb4. Набор символов utf8mb3 действителен в MySQL 8.0, однако рекомендуется использовать utf8mb4 для улучшенной поддержки Unicode. Прочитайте Migrating to utf8mb4: Things to Consider для получения дополнительной информации.

  • caching_sha2_password — это плагин аутентификации по умолчанию в MySQL 8.0, который предоставляет расширенный набор возможностей плагина аутентификации sha256_password. sha256_password считается устаревшим. Новый плагин аутентификации по умолчанию caching_sha2_password предлагает более безопасное хеширование паролей и улучшенную аутентификацию клиентских подключений, mysql_native_password который использовался по умолчанию раньше. Существующие пользователи, созданные с указанием плагина mysql_native_password, по-прежнему могут использоваться и входить в БД. Новые пользователи будут созданы с помощью плагина caching_sha2_password, если вы не измените плагин аутентификации по умолчанию.

  • Утилита mysql_upgrade устарела, поскольку её функции по обновлению системных таблиц в системной схеме mysql и объектов в других схемах были перенесены в сервер MySQL. Начиная с MySQL 8.0.16, сервер выполняет все задачи, которые ранее выполнялись mysql_upgrade.

    Процесс обновления автоматически начинается с запуска нового бинарного файла MySQL со старым каталогом данных.

    Текстовый файл mysql_upgrade_info, который создается в каталоге данных, используется для хранения номера версии MySQL. Также в каталоге данных создаются новые файлы InnoDB.

    После установки новой версии MySQL сервер теперь автоматически выполняет все необходимые задачи обновления при следующем запуске и не требует вызова mysql_upgrade администратором. Кроме того, сервер обновляет содержимое справочных таблиц (чего не делал mysql_upgrade).

    Новая опция --upgrade обеспечивает контроль над тем, как сервер выполняет автоматические операции по словарю данных и обновлению сервера при запуске.

  • Плагин validate_password был переработан с использованием инфраструктуры серверных компонента. Старая реализация плагина validate_password все еще доступна, но устарела.

  • Указание ENGINE для команд ALTER TABLESPACE и DROP TABLESPACE.

  • SQL-режим PAD_CHAR_TO_FULL_LENGTH (см. раздел “Server SQL Modes” в официальной документации)

  • Поддержка AUTO_INCREMENT устарела для столбцов типа FLOAT и DOUBLE (и любых их синонимов). Рассмотрите возможность удаления атрибута AUTO_INCREMENT из таких столбцов или преобразуйте их в целочисленный тип.

  • Атрибут UNSIGNED устарел для столбцов типа FLOAT, DOUBLE и DECIMAL (и любых синонимов). Вместо этого рассмотрите возможность использования простого ограничения CHECK для таких столбцов.

  • Синтаксис FLOAT(M,D) и DOUBLE(M,D) для указания количества цифр для столбцов типа FLOAT и DOUBLE (и любых синонимов) является нестандартным расширением MySQL. Этот синтаксис устарел.

  • Нестандартные операторы в стиле языка C &&, || и !, являющиеся синонимами стандартных SQL-операторов AND, OR и NOT соответственно, считаются устаревшими. Приложения, использующие нестандартные операторы, следует исправить для использования стандартных.

  • Системная переменная relay_log_info_file и опция -–master-info-file устарели. Ранее они использовались для указания имени файла метаданных для журнала ретрансляции и ведущего сервера, когда были заданы значения relay_log_info_repository=FILE и master_info_repository=FILE, но эти параметры устарели. Использование файлов метаданных для журнала ретрансляции и ведущего сервера было заменено защищенными от сбоев таблицами, которые используются по умолчанию в MySQL 8.0.

  • Использование переменной среды MYSQL_PWD для указания пароля MySQL устарело.

Примечание

С полным и актуальным списком изменений в MySQL 8.0 можно ознакомиться в соответствующем разделе официальной документации.


Последнее обновление: 2024-04-30