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

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

  • Системная переменная innodb_locks_unsafe_for_binlog удалена. Уровень изоляции READ COMMITTED обеспечивает аналогичную функциональность.

  • Использование GRANT для создания пользователей. Вместо этого используйте CREATE USER. Следование этой практике делает SQL-режим NO_AUTO_CREATE_USER несущественным для команды GRANT, поэтому он тоже удаляется, и теперь в журнал сервера записывается ошибка, когда наличие этого значения для опции sql_mode в файле параметров предотвращает запуск mysqld.

  • Использование GRANT для изменения свойств учетной записи, кроме назначения привилегий. Сюда входят свойства аутентификации, SSL и ограничения ресурсов. Вместо этого установите такие свойства во время создания учетной записи с помощью CREATE USER или измените их позже с помощью ALTER USER.

  • Указание IDENTIFIED BY PASSWORD ‘auth_string’ для CREATE USER и GRANT. Вместо этого используйте IDENTIFIED WITH auth_plugin AS ‘auth_string’ для CREATE USER и ALTER USER, где значение ‘auth_string’ находится в формате, совместимом с указанным плагином.

  • Функция PASSWORD().

    Кроме того, удаление PASSWORD() означает, что синтаксис SET PASSWORD … = PASSWORD(’auth_string’) больше недоступен.

  • Системная переменная old_passwords.

  • Кэш запросов был удален. Удалена следующая функциональность:

    • Команды FLUSH QUERY CACHE и RESET QUERY CACHE

    • Следующие системные переменные:

      • query_cache_limit
      • query_cache_min_res_unit
      • query_cache_size
      • query_cache_type
      • query_cache_wlock_invalidate
    • Следующе переменные состояния:

      • Qcache_free_blocks
      • Qcache_free_memory
      • Qcache_hits
      • Qcache_inserts
      • Qcache_lowmem_prunes
      • Qcache_not_cached
      • Qcache_queries_in_cache
      • Qcache_total_blocks
    • Удаление кэша запросов также привело к удалению следующих состояний соединения:

      • checking privileges on cached query
      • checking query cache for a query
      • invalidating query cache entries
      • sending cached result to the client
      • storing result in the query cache
      • Waiting for query cache lock
  • Системные переменные tx_isolation и tx_read_only были удалены. Вместо этого используйте transaction_isolation и transaction_read_only.

  • Системная переменная sync_frm удалена, поскольку файлы .frm больше не используются.

  • Системная переменная secure_auth и клиентская опция --secure-auth были удалены. Опция MYSQL_SECURE_AUTH для функции C API mysql_options() была удалена.

  • Системная переменная log_warnings и опция сервера -–log-warnings были удалены. Вместо этого используйте системную переменную log_error_verbosity.

  • Глобальная область видимости системной переменной sql_log_bin была удалена. sql_log_bin теперь имеет только область видимости сеанса, и приложения, которые полагаются на доступ к @@GLOBAL.sql_log_bin, должны быть скорректированы.

  • Неиспользуемые системные переменные date_format, datetime_format, time_format и max_tmp_tables удалены.

  • Устаревшие квалификаторы ASC или DESC для указаний GROUP BY удалены. Запросы, которые ранее полагались на сортировку GROUP BY, могут возвращать результаты, отличающиеся от предыдущих версий MySQL. Чтобы создать заданный порядок сортировки, добавьте указание ORDER BY.

  • Синтаксический анализатор больше не считает N синонимом NULL в операторах SQL. Вместо этого используйте NULL. Это изменение не влияет на операции импорта или экспорта текстовых файлов, выполняемые с помощью LOAD DATA или SELECT … INTO OUTFILE, для которых NULL продолжает обозначаться как N.

  • Параметры --ssl и -–ssl-verify-server-cert в клиентских утилитах были удалены. Используйте –-ssl-mode=REQUIRED вместо -–ssl=1 или -–enable-ssl. Используйте -–ssl-mode=DISABLED вместо -–ssl=0, -–skip-ssl или -–disable-ssl. Используйте -–ssl-mode=VERIFY_IDENTITY вместо параметров -–ssl-verify-server-cert.

  • Программа mysql_install_db была удалена из дистрибутивов MySQL. Инициализацию каталога данных следует выполнять путем вызова mysqld с опцией -–initialize или -–initialize-insecure. Кроме того, был удален параметр -–bootstrap для mysqld, который использовался программой mysql_install_db, а также был удален параметр CMake INSTALL_SCRIPTDIR, который контролировал место установки mysql_install_db.

  • Утилита mysql_plugin была удалена. Альтернативы включают загрузку плагинов при запуске сервера с использованием опции -–plugin-load, или –-plugin-load-add, или во время выполнения с использованием инструкции INSTALL PLUGIN.

  • Утилита resolveip удалена. Вместо этого можно использовать nslookup, host или dig.

Примечание

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


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