Устаревшая функциональность в версии 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 можно ознакомиться в соответствующем разделе официальной документации.