mysql8.0+上被移除或替代的特性

1.mysql8.0被弃用的特性

  • validate_password在未来新版本将被弃用
  • alter tablespace和drop tablesapce engine被弃用
  • pad_char_to_full_length的SQL模式被弃用
  • 在创建临时表中TABLESPACE = innodb_file_per_table and TABLESPACE = innodb_temporary被弃用

2.mysql8.0中新参数/变量或表代替旧的参数/变量/表

旧参数或表 代替的参数或表
utf8mb3 utf8mb4
json_merge() json_merge_preserve()
json_append() json_array_append()
information_schema_stats information_schama_stats_expiry
tx_isolation transaction_isolation
tx_read_only transaction_read_only
log_warnings和--log-warnings log_error_verbosity
表:information_schema_innodb_locks 表:data_locks
表:innodb_lock_waits 表:data_lock_waits

3.information_schema部分系统视图被重新命名,见下表

old name new name
innodb_sys_columns innodb_colums
innodb_sys_datafiles innodb_datafiles
innodb_sys_fileds innodb_fileds
innodb_sys_foreign innodb_foreign
innodb_sys_foreign_cols innodb_foreign_cols
innodb_sys_indexes innodb_indexes
innodb_sys_tables innodb_tables
innodb_sys_tablespaces innodb_tablespaces
innodb_sys_tablestats innodb_tablestats
innodb_sys_virtual innodb_virtual

4.关于用户管理

  • 不能再使用grant授权的方式创建用户
  • 移除set password … = password(‘auth_string’)修改密码的方式
  • 移除系统变量old_passwords

mysql8.0移除了查询缓存以及相关参数

  • flush query cache和reset query cache语句被移除
  • 在select查询中使用sql_cache修饰符不移除,sql_no_noche和ndb_cache_check_time被弃用
  • have_query_cache系统变量被弃用,将来版本将会被移除
变量类型 参数
系统变量 query_cache_limit
query_cacahe_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
qcaches_not_cached
qcache_queries_in_cahce
qcache_tatal_blocks
线程状态 checking privileges on cached query
checking query cache for query
invalidating query cache entries
sending cached result to client
storing result in query cache
Waiting for query cache locked

5.mysql8.0中被移除系统变量或参数选项或函数

  • --ignore-db-dir和系统的变量ignore_db_dirs被移除
  • sync_frm被移除,.frm文件也被弃用
  • 客户端工具中的--secure-auth选项被移除
  • 系统变量:muli_range_count,metadata_locks_cache_size,metada_locks_hash_instances,data_format,datetime_format,time_format,max_tmp_tables
  • 加密相关函数,如encode()和decode(),encrypt()
  • sql_mode中的DB2, MAXDB, MSSQL, MYSQL323,MYSQL40, ORACLE, POSTGRESQL,NO_FIELD_OPTIONS, NO_KEY_OPTIONS, NO_TABLE_OPTIONS中值被移除
  • 全局变量sql_log_bin变量已经被移除,只能用于session变量中

6.mysql8.0中关于sql语法使用被移除

  • 移除了group by排序的限定符asc和desc,只能用order by进行排序

  • EXPLAIN语句的EXTENDED和PARTITIONS关键字已被移除

  • 解析器不再将\N作为SQL语句中NULL的同义词。使用NULL代替。这种改变可能对于含有\N数据导入有影响

  • PROCEDURE ANALYSE()使用语法被移除

7.关于innodb文件格式参数定义被移除

  • innodb_file_format,innodb_file_format_check,innodb_file_format_max,innodb_large_prefix

你可能感兴趣的:(mysql,mysql)