Удалённая функциональность в версии 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 APImysql_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
, а также был удален параметр CMakeINSTALL_SCRIPTDIR
, который контролировал место установкиmysql_install_db
. -
Утилита
mysql_plugin
была удалена. Альтернативы включают загрузку плагинов при запуске сервера с использованием опции-–plugin-load
, или–-plugin-load-add
, или во время выполнения с использованием инструкцииINSTALL PLUGIN
. -
Утилита
resolveip
удалена. Вместо этого можно использоватьnslookup
,host
илиdig
.
Примечание
С полным и актуальным списком изменений в MySQL 8.0 можно ознакомиться в соответствующем разделе официальной документации.