MySQL8.0新特性

Mysql8.0是在Mysql5.7之后,新受欢迎的版本,分享几个新的特性给大家。

1.数据库的默认字符集从latin1改为utf8mb64:

show variables like "character_set_database";

2.通用表达式:

WITH cte as(SELECT * FROM goods) SELECT g.* ,(SELECT cte.name FROM cte WHERE cte.id=g.gid) AS gname FROM goods AS g;

3.DDL原子化:数据定义语言操作,如果中间失败,回滚操作。

4.支持降序索引

5.统计直方图

6.全局变量持久化:

//会保存到数据目录下的mysqld-auto.cnf,再次启动时读取,覆盖默认配置

SET PERSIST max_connections=151;

7.密码到期更换策略:default_password_lifetime,

ALTER USER root@localhost PASSWORD EXPIRE INTERVAL 260 DAY; ALTER USER root@localhost PASSWORD EXPIRE DEFAULT;

8.管理角色:

//给角色赋予权限

CREATE ROLE role_tt;

//创建角色

GRANT SELECT on db.* to 'role_tt';

//创建用户

CREATE USER 'mysql1'@'%' identified by '123456';

//为用户赋予角色

GRANT 'role_tt' TO 'mysql1'@'%';

//给角色增加insert权限

GRANT INSERT ON db.* to 'role_tt';

//删除角色insert权限 REVOKE INSERT ON db.* FROM 'role_tt';

//查看默认角色信息 SELECT * FROM mysql.default_roles;

//查看角色和用户的关系 SELECT * FROM mysql.role_edges;

//删除角色 DROP ROLE role_tt;

9.日志分类更详细:日志新增错误信息编号分类[MY-010311]和错误所属子系统[Server]

10.从服务器多源复制

在CHANGE MASTER 最后加入

FOR CHANNEL 'channel name';

START SLAVE FOR CHANNEL 'channel name';

SHOW SLAVE STATUS FOR CHANNEL 'channel name';

11.全局表空间

//创建表空间

CREATE TABLESPACE tablespace_name ADD datafile 'tablespace.ibd' file_block_size=16K;

//在删除依赖表空间的表之后,删除表空间

DROP TABLESPACE tablespace_name;

12.支持不可见索引

CREATE TABLE test1(a int,b int,index idx_a_b(a,b desc) invisible);

//设置索引可见,主键不可以设置为invisible

ALTER TABLE test1 ALTER index idx_a_b visible; 

其他新特性期待大家留言探讨 !

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

83Dillon

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值