账户与安全
用户创建和授权
MySQL8.0 创建用户和用户授权的命令需要分开执行:
create user 'tony'@'%' identified by 'Tony@2018';
grant all privileges on *.* to 'tony'@'%';
MySQL5.7.*
grant all privileges on *.* to 'tony'@'%' identified by 'Tony@2018';
认证插件更新
密码管理
角色管理
新增索引:降序、隐藏、函数
窗口函数-分析函数
函数索引
降序索引
隐藏索引
MySQL8.0 开始支持隐藏索引(invisible index),不可见索引。
隐藏索引不会被优化器使用,但仍然需要进行维护。
应用场景:软删除、灰度发布。
密码管理:
password_history = 3 ; 新密码不能和前面三次的密码相同
password_reuse_interval = 90 ; 新密码不能和前面九十天内使用的密码相同
password_require_current = on ; 默认为off;为on时 修改密码需要用户提供当前密码
这个参数只对普通用户生效。
隐藏索引
MySQL8.0 开始支持隐藏索引(invisible index),不可见索引。
隐藏索引不会被优化器使用,但仍然需要进行维护。
应用场景:软删除、灰度发布。
优化器索引
隐藏索引
降序索引
函数索引
课程介绍
传统的聚合函数
MySQL 8.0 创建用户和用户授权的命令需要分开执行;
创建:create user '用户名'@'服务器名' identified by '密码';
授权:grant all privileges on *.* to '用户名'@'服务器名';
老版本语句:grant all privileges on *.* to '用户名'@'服务器名' identified by '密码';
sum over 作用不聚合,而将聚合的结果放在每行的列中
学习过了。
账户安全
优化索引
通用表达式
窗口函数
InnoDB增强
JSON增强
使用 replace 子句来修改密码
MySql8.0新特性
设置永久性生效的环境变量参数:
密码管理的增强:
认证方式的修改:
data->>'$.name'等同于
json_unquote(data->'$.name')
json_unquote(json_extract(data, '$.name'))
select json_extract('["a","b","c","d","e","f"]', '$[1 to 3]')
窗口函数用OVER (partition by 列名),不需要group by关键字,
窗口函数概念。
与分组聚合函数类似,但是每一行数据都生成一个结果。
set persist global password_history=6
persist 不仅当前生效,重启服务器后仍然有效
是通过新增配置文件mysqld-auto.cnf来达到持久化的目的
限制重复使用以前的密码
修改认证方式
认证插件更新