MySQL8.0 和 MySQL5.7 的区别
- 授权方面: 5.7 的 GRANT 命令可以在创建用户的同时完成授权。8.0 的版本必须先创建用户然后再授权。
- 配置方面: 5.7 的 SET GLOBAL 命令设置的全局配置时临时的,重启时失效, 8.0 则是永久性的。
- 配置持久化; 5.7 的配置会在重启时重新载入,因此改变配置文件才可以。 8.0 新增了 set persist 命令来设置持久化,会把配置写入配置文件 mysql-auto.cnf 配置文件中.
- 默认编码: 5.7 的默认编码 Latin1 ,8.0 的默认编码时 utf8mb4
- 加密规则: 5.7 的默认加密规则 mysql_native_password,8.0 则改为:caching_sha2_password
- 密码过期策略: 8.0 支持密码过期策略,
- 索引新特性: 1. 支持索引的隐藏或显示。
- 降序索引: 8.0 新增降序索引,不过只有 innodb 的 BTREE 索引才支持降序索引。也就是创建索引的时候支持
asc
和desc
关键字 - Group By: 8.0 不在对 group by 语句进行隐式排序,也就是说,排序必须显式的使用
order by
- 索引函数: 8.0 支持在创建索引时使用函数,比如
explain select * from t1 where upper(c1)='A';
未完待补充
目前尚无回复