MYSQL 8 Percona Server 暴徒上演

MYSQL 8 Percona Server 暴徒上演

放松一天,挑拣了一部不是很热的电影,印度暴徒,看我大开眼界,三观一会儿端正,一会儿邪恶。 OK回归主题,MYSQL 8 和 暴徒有什么关系,电影里面的暴徒,其实是正义者,只不过在邪恶的东印度公司眼里面是“暴徒”。

PERCONA SERVER 8 ( MYSQL 8) 在 2018年12月23 日正式登场了,这标志着 MYSQL 不在是 5.7 的世界,很快 MYSQL 8 投入到正式的生产的日子不会太远了。(有一个声音,MYSQL 8 不是早就发布了,ORALCE发布的),好吧我就当没有听见这个声音。让我们看看这个“暴徒” 的脾气又多牛。

——————————————————————————————

MYSQL 8 Percona Server 暴徒上演

1  当头一棒,用原来的命令你已经无法好好的建用户了。

MYSQL 8 Percona Server 暴徒上演

上面的命令是百分之百的MYSQL  5.5. 5.6 5.7 可以运行的命令,建立用户和赋予权限以及密码,一气呵成!!  对现在就是错误的,MYSQLER们从新学吧!

正式的建立用户的方法:

MYSQL 8 Percona Server 暴徒上演

我只能说,MYSQLER们,建立用户只能规矩了,想省事估计是不大可能了。

这还不是最大的NEWS, 最大的NEWS 是 MYSQL 有 ROLE 了,对MYSQL 从未有过ROLE 的概念,现在我们有了。

下面就是MYSQL 8 中定义的 ROLE ,当然也可以自己定义ROLE 然后赋予用户,再也不用多个用户赋予一样的权限,笨拙的一边一边的来了

MYSQL 8 Percona Server 暴徒上演

具体怎么用ROLE 这里就不说了,要不就漏题了,下下期 MYSQL 的培训课程我准备吧这部分内容加进去。

Move on 下一个

MYSQL 8 Percona Server 暴徒上演

—————————————————————————————

Visible VS  INVISIBLE  索引

这个功能应该是其他数据库不具备的,这也是MYSQL 8 提供给大家的黑科技。 这个功能就是为了MYSQL 设计,某些索引你添加了,和不添加的区别在哪里,大表添加的索引如果乱了,多添加了,你想走这个索引,不在走哪个,怎么办。 统统看这个功能。

一个简单的表,我们查询最简单的数据

MYSQL 8 Percona Server 暴徒上演

很明显,没有索引的查询要走全表扫描,filtered 10% ,看来我们可以建一个索引来拯救这个简单的查询。

MYSQL 8 Percona Server 暴徒上演

创建索引后,的执行计划

MYSQL 8 Percona Server 暴徒上演

如果这时有新的查询,

explain select * from test.test where name = 'lisa' and age=33;

explain select * from test.test where name = 'lisa' and age>33;

你又建立一个新的联合索引,你在不知道那个更优的情况下,在生产的系统上你可以,将原来的所以隐藏掉。

alter table test alter index idx_test_name INVISIBLE;

MYSQL 8 Percona Server 暴徒上演

让旧的索引暂时失效。

可能有的DBA 说,我直接强制索引不就完了,NO NO NO 这样的观点太老了,一句话动态的环境用动态的方法解决,如果老师让程序员改来该去,怎么凸显你的重要性。 把握好这个新功能吧。

——————————————————————————————

MOVE ON 

MYSQL 8 Percona Server 暴徒上演

——————————————————————————————

第三个冲击,强度对于程序要来说要大于DBA,CTE , 窗口函数的支持,让你从原来MYSQL 统计数据的较劲脑汁,到现在简单向一阵风一样,如果对于程序员来说,这个功能绝对和炮火的冲击力一样。 看一下吧

MYSQL 8 Percona Server 暴徒上演

当然还有窗口函数的支持,查询比原来更简单了

例如我们队在公司工作的人员的工作年限进行排名,如果以前没有窗口函数的支持,则这个功能要很麻烦

MYSQL 8 Percona Server 暴徒上演

当然窗口函数使用的方式很多,这里就不演示了,从侧面这也说明MYSQL的查询优化器也有进步,否则也不可能会进行复杂的运算了。

——————————————————————————————

MOVE ON 

其实MYSQL 8 还有很多新功能, 例如  SET PERSIST  这个功能简直就是 DBA 得福音,再也不用为 MY,CNF 参数 和 动态参数修改后,的统一性头痛了,这里就不介绍了,可以自己看一下 官方文档。还有 MGR 的功能加强,这些都必然是都是需要一段时间消化的。

大招来了,

MYSQL 8 Percona Server 暴徒上演

当你看到这张图,下面的这张图,你如果3秒还没有反应我在说什么,如果你还是MYSQL 的DBA  那就好好反省吧

MYSQL 8 Percona Server 暴徒上演

我们的 FRM  已经逝去了,默哀3分钟,这说明什么,讨厌的 DDL 的原子性问题,已经远去了,以后添加字段,索引,或许可以像其他的 数据库的DBA 那样的从容,(当然的验证,绝对不能大意,因为他还是MYSQL)

——————————————————————————————

结语: 有人问,你费那么大劲写这么多干嘛,有病吧?  或许是,如果我有病,就病在对我业务的热爱,对我专业的自我要求,或许是疯狂了点,我就喜欢这样的疯狂,并且或许还将继续疯下去。

另外安装 MYSQL 8 PERCONA ,并没有那么简单,经历了三个夜晚的折腾,各种依赖包的不齐,各种失败,最终用了特殊的方法装上了,目前这个版本,非常不建议在生产上应用(CENT OS7) ,这不是我说的,官方的文档有注明:

MYSQL 8 Percona Server 暴徒上演

不过该学习的要开始,MYSQL 8 大面积的铺开的时间不会太远,并且这也是MYSQL 走入企业,传统企业,抢占 ORACLE 数据库 SQL SERVER 数据库,并且和 PG  正面交锋的一个版本,注定这是一个不能被忘记的版本。

MYSQL 8 Percona Server 暴徒上演