免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1267 | 回复: 0
打印 上一主题 下一主题

[分享] MySQL 5.7.9 GA稳定版新特性解读 [复制链接]

论坛徽章:
7
数据库技术版块每日发帖之星
日期:2016-04-26 06:20:00数据库技术版块每日发帖之星
日期:2016-05-01 06:20:00数据库技术版块每日发帖之星
日期:2016-05-02 06:20:00数据库技术版块每日发帖之星
日期:2016-05-06 06:20:00数据库技术版块每日发帖之星
日期:2016-05-07 06:20:00数据库技术版块每日发帖之星
日期:2016-05-08 06:20:00数据库技术版块每日发帖之星
日期:2016-05-17 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-04-26 16:47 |只看该作者 |倒序浏览
MySQL 5.7.9 GA稳定版新特性解读


      2015年10月22日,MySQL发布5.7.9稳定版,虽然MySQL官方手册里已经有很多关于MySQL 5.7新特性的介绍,在这里,还是让我们一起看看在MySQL 5.7里有哪些值得

我们关注的新特性吧。

     1、安全性 用户表mysql.user的plugin字段不允许为空,默认值是mysql_native_password,而不是mysql_old_password,不再支持旧密码格式;

增加密码过期机制,过期后需要修改密码,否则可能会被禁用,或者进入沙箱模式;

使用mysql_install_db初始化时,默认会自动生成随机密码,并保存到/var/log/mysqld.log中(grep 'temporary password' /var/log/mysqld.log),而且不创建除

root@localhost 外的其他账号,也不创建test库;

在5.7中,推荐使用mysqld --initialize对数据库进行初始化,在初始化时如果加上–initial-insecure,则会创建空密码的 root@localhost 账号,否则会创建带密码的

root@localhost 账号,密码直接写在 log-error 日志文件中(在5.6中是放在~/.mysql_secret里);

在5.7中可以对普通用户进行unlock及lock操作。

       2、增强了InnoDB引擎的一些功能

优化了DDL操作,在涉及到InnoDB临时表时,性能显著提升;

在5.6及以前,InnoDB临时表的元数据存储在InnoDB系统表里,在5.7中,临时表的信息及元数据都存储在新多出来的表INNODB_TEMP_TABLE_INFO中;

在5.7中,InnoDB临时表会存储在一个非压缩的、单独的表空间中,每次启动MySQL服务,都会自动创建该表空间,默认存储在DATADIR下,其路径由参数

innodb_temp_data_file_path指定;

支持在线(INPLACE)增加VARCHAR列的长度。不过0-255长度是一个区间,256以上是另一个区间,不能跨越255这个坎,比如把长度从100扩展成1000(因为255长度以内

额外用1个字节表示,大于255长度则需要额外2个字节表示);

不支持在线缩小VARCHAR的长度 ;

支持innodb_page_cleaners选项可设置多个page cleaner线程提高脏页刷新效率 ;

可通过设置innodb_undo_log_truncate等选项自动删除不用的undo log ;

加强InnoDB read-only模式的性能 ;

在5.7中,可以创建一个普通的表空间:

CREATE TABLESPACE `tablespace_name`

ADD DATAFILE 'file_name.ibd'

[FILE_BLOCK_SIZE = n]

      3、SQL_MODE 默认启用STRICT_TRANS_TABLES模式; 对ONLY_FULL_GROUP_BY模式实现了更复杂的特性支持,并且也被默认启用; 其他被默认启用的sql mode

还有NO_ENGINE_SUBSTITUTION。

在5.6中对一个10字符长度的VARCHAR列写入15个字符,会自动截断并给出告警,而在5.7,则直接抛出错误了。

     4、优化online操作,例如修改buffer pool、修改索引名(非主键)、修改REPLICATION FILTER、修改MASTER而无需关闭SLAVE线程等众多特性。

     5、在5.7中,可以在INFORMATION_SCHEMA里面的表中查看MySQL的系统参数

     6、支持一个表上有多个触发器,这样一来,原先已有触发器表也可以支持用pt-osc 了

     7、支持对在线某个连接直接查看执行计划,比如EXPLAIN FOR CONNECTION 1024

     8、新增log_syslog选项,可将MySQL日志打印到系统日志文件中

     9、在MySQL 5.6以前,在客户端CTRL+C后会直接退出啊MySQL客户端,这一点比较恶心,在5.7以后不会退出客户端而是终端当前的操作

     10、新增一个比较好的功能,就是在CREATE | ALTER TABLE时,可以在某张表已有列的基础上,对新增的列进行运算:

CREATE TABLE triangle (

sidea DOUBLE,

sideb DOUBLE,

sidec DOUBLE AS (SQRT(sidea * sidea + sideb * sideb))

);

INSERT INTO triangle (sidea, sideb) VALUES(1,1),(3,4),(6,;

mysql> SELECT * FROM triangle;

+-------+-------+--------------------+

| sidea | sideb | sidec |

+-------+-------+--------------------+

| 1 | 1 | 1.4142135623730951 |

| 3 | 4 | 5 |

精彩学习内容:

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP