专栏首页IT大咖说知数堂联合创始人叶金荣:MySQL 5.7新时代

知数堂联合创始人叶金荣:MySQL 5.7新时代

摘要

MySQL 5.7版本新增了很多特别实用的功能,截止目前已经发布5.7.17版本,也越来越成熟了,而且Group Replication也GA了。就让我们一起来看看MySQL 5.7版本的新时代,功能为我们带来什么变化。

视频内容

MySQL5.7新气象

2013.4.23发布了MySQL5.7.1,距今已有4年了。它最主要的几个特性,一是性能上提升、InnoDB方面的性能提升,还有复制极大增强,以及查询优化器开始支持基于代价的规则。

并原生支持JSON。

Performance_Schema增加了众多信息。

新增sys schema,管理更方便了。

安全性提升。

GIS增强。

性能增强

这是5.7和5.5和5.6的性能对比,可以看到5.7的性能强悍多了,尤其是在高并发场景下。

优化器增强

5.7版本在查询过程中可以增加很多关键字,避开某些执行计划方面的坑。

InnoDB引擎

最瞩目的无疑是可以在线修改InnoDB Buffer Pool,由小改大几乎没有影响,由大改小只需要释放部分内存,影响也不大,可做到秒级完成。

InnoDB Buffer dump and load增强。

Temporary table增强。5.7版本InnoDB的临时表可以单独放在自己的临时表空间里,此外临时表不会再记录redo。

Online DDL增强,在线增加VARCHAR列长度。在不跨越255字节长度的前提下,可以把字节数直接进行在线调整。增加VARCHAR长度几乎无额外代价。

InnoDB Monitor取消innodb_xx_monitor机制,改成另外两个选项控制。

支持更多page_cleaner线程提升purge效率。

表空间文件迁移增强,增加对分区表空间文件支持。

自动检测设备是否支持原子写,确认后关闭double writebuffer。

索引更新效率提升3倍以上。

InnoDB表分区性能提升,尤其是在有大量分区情况,且内存消耗更少。

支持spatial indexes,检索更精确。

透明data page压缩,压缩比变化不大,但读取效率高多了。(尤其是在慢速I/O设备上)

MySQL复制

真正实现多线程并发复制。

多源复制。把多个主服务器上的数据复制到从服务器上,这样的好处就是可以做到数据汇总,在数据分析业务场景中非常实用,也可以提高服务器资源利用率。

复制性能提升。减少master上的dump thread并发锁,提高并发率。

半同步复制更可靠更灵活。接收、发送信号线程分离(串行变并行),提高复制效率。

组复制类似PXC架构,可以实现多节点同时写入,同时提供读写均衡。

复制管理更方便。无需完全停止所有SLAVE线程即可在线执行CHANGE MASTER TO。可在线修改REPLICATION FILTER规则。执行SHOW SLAVE STATUS无锁,不再被阻塞。

Mysqlbinlog解析binlog同时支持rewrite规则。

PERFORMANCE_SCHEMA

内存统计视图有助于更快理解内存分配情况,以及找到内存泄露原因。

通过事务相关图,可以看到事务延迟,事务隔离级别,是否自动提交以及GTID信息。

MySQL复制相关图可以看到复制相关信息,可以取代SHOW SLAVE STATUS。

SYS Schema

从SYS Schema可以快速获取锁等待、内存分配和SQL统计。

查看I/O读写最多的文件。

查看热门SQL top10。

安全性

数据库安全增强。

初始化时采用随机密码。

只创建root@localhost账号,再也没有匿名账号。

不创建test库。

设置密码有效期,过期不予连接。

密码过期或首次登录需要设置新密码。

今天的分享到此结束,谢谢大家!

本文分享自微信公众号 - IT大咖说(itdakashuo),作者:叶金荣

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-06-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 微博 Qzone 微信 是你的数据还不够强!谷歌大脑「数据增强」开源,大神QuocLe出品

    玩深度学习的人都知道,AI算法大部分是数据驱动。数据的质量一定程度上决定了模型的好坏。

    IT大咖说
  • R语言实例:利用css对shiny页面优化及htmlwidgets创建控件

    摘要 本演讲将介绍如何利用CSS对shiny页面进行个性化设计及在网页中嵌入视频;并通过一个详细案例介绍了利用htmlwidgets包开发HTML控件,基于D3...

    IT大咖说
  • 面试官问:集群部署时,分布式 session 如何实现?

    面试官问了你一堆 dubbo 是怎么玩儿的,你会玩儿 dubbo 就可以把单块系统弄成分布式系统,然后分布式之后接踵而来的就是一堆问题,最大的问题就是分布式事务...

    IT大咖说
  • 通过3个Hello World应用来了解ASP.NET 5应用是如何运行的(1)

    微软在开发ASP.NET 5(当时被称为ASP.NET vNext)是采用的代号为Project K,所以运行时被称为KRuntime。KRuntime是一个S...

    蒋金楠
  • VSZ与RSS

    使用ps命令查看进程的内存使用情况时,有3列输出,分别是%MEM、VSZ和RSS,其中VSZ全称为Virtual Memory Size,RSS...

    glinuxer
  • 截取程序的网络封包(Delphi Hook API)

    有时候我们需要对其它应用程序发送和接收的网络数据进行拦截,比如要对IE发送的**头进行分析,得到请求的地址等.这次我们可以用一些例如WPE, Sniffer之类...

    战神伽罗
  • 微信携手第三方再造新平台 - 公众号第三方平台介绍

      微信携手第三方,再造新平台,即我们平常所说的公众号第三方平台,是通过微信公众号登录授权,帮助各行各业公众号解决业务需求的第三方网站。是必须基于公众号登录授权...

    ytkah
  • 剑指offer--数值的整数次方

    题目描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。

    AI那点小事
  • replace into语法浅析

    今天有个开发问我replace into和insert into哪个效率高,就我了解,replace是会首先判断这个值在不在,如果在的话,则进行更新操...

    AsiaYe
  • 剑指Offer-数值的整数次方

    package Other; import java.math.BigDecimal; /** * 给定一个double类型的浮点数base和int类型的...

    武培轩

扫码关注云+社区

领取腾讯云代金券