MySQL 开发团队于 12 日宣布 MySQL 8.0.0 开发里程碑版本(DMR)发布!
可能有人会惊奇 MySQL 为何从 5.x 一下跳跃到了 8.0。事实上,MySQL 5.x 系列已经延续了很多年,从被 Oracle 收购之前就是 5.1,而收购之后一直维持在 5.x,比如 5.5,5.6,5.7 等等。其实,如果按照原本的发布节奏,可以把 5.6.x 当成 6.x,5.7.x 当成 7.x。所以,只是换了版本命名方式而已。
不过这次发布的 MySQL 8.0.0 开发版本还是有不少亮点的。
latin1
改为 utf8mb4
,默认 定序 ( collation ) 将从latin1_swedish_ci
改为 utf8mb4_800_ci_ai
。BIGINT
进行位操作,从 8.0 开始也支持对 [VAR]BINARY/[TINY|MEDIUM|LONG]BLOB
进行位操作了。INET6_ATON()
和 INET6_NTOA()
现在可以进行位操作了,因为INET6_ATON()
现在返回的是VARBINARY(16)
数据类型(128 位)。改进了 UUID 操作,引入了三个新的函数 UUID_TO_BIN()
, BIN_TO_UUID()
和 IS_UUID()
。MySQL 并没有特殊的 IPv6 和 UUID 数据类型,而是以VARBINARY(16)
数据类型保存的。SET PERSIST
来设置持久性的全局变量,即便服务器重启也会保持下来。其它的更多重要改进和细节,请参考 MySQL 8.0.0 发布公告和这里。
目前 8.0.0 还是开发版本,如果你希望体验和测试最新特性,可以从 dev.mysql.com 下载各个平台的安装包。不过,MySQL 软件包是越来越大了,Linux 平台上的二进制打包后就将近有 1 GB。如果在产品环境中使用,在 8.0 没有进入稳定版本之前,请继续使用 5.7 系列,当前最新的版本是 5.7.15 GA 版本——这只有 600 M 多。
最新的源代码放在 GitHub 上,感兴趣的朋友可以去看看,其中有不少是中国人的贡献。