高手问答第 196 期 —— 号称性能提升 2 倍的 MySQL 8 来袭,我们该如何应对?

局长 发布于 05/07 17:58
阅读 6K+
收藏 13

OSCHINA 本期高手问答(2018 年 5 月 8 日 — 5 月 14 日)我们邀请到了@叶金荣 和吴炳锡@wubx 两位老师和大家一起聊聊 MySQL 8。

MySQL 8.0 正式版发布已有两周,最大的变化除了突然从 “5” 跃进至 “8” 的版本号,还有就是改进巨大的性能。官方表示 MySQL 8.0 要比上个版本 MySQL 5.7 快 2 倍。对于开发者来说,性能的改进固然是让人兴奋的,不过除了这些看得到的改进,更值得我们关注的是,我们该如何应对和利用新版本带来的变更?

除了性能方面的改进,MySQL 8 还带来不少新的特性和重大的变动,而这些变化又将对开发者们产生怎样的影响?开发者又应如何面对这些新的变化?每次尝鲜新版本总免不了要经历踩坑、填坑的过程,因此本期高手问答我们邀请了两位资深的 MySQL 大牛来和大家一起聊聊最新的 MySQL 8.0。

本期高手问答主题:

  • 是否建议现在进行升级,需要考虑什么因素?
  • 升级过程会遇到哪些坑,有什么要注意的?
  • 除了性能和效率方面的改进,还有哪些值得关注的变化?
  • 升级到 MySQL 8.0 后,需要做什么工作(优化、调整)?
  • MySQL 8 已彻底弃用 MyISAM 引擎,会带来哪方面的影响?

关于 MySQL 8 的一些新特性可查看 https://www.oschina.net/news/95325/mysql-8-0-ga-released

本期高手嘉宾介绍:

叶金荣,知数堂培训联合创始人,Oracle MySQL ACE,MySQL 布道师。有多年 MySQL 及系统架构设计经验,擅长 MySQL 企业级应用、数据库设计、优化、故障处理等。

吴炳锡,知数堂联合创始人,MySQL DBA 课程讲师。有多年 MySQL 及系统架构设计及培训教学经验,擅长 MySQL 大规模运维管理优化、高可用方案、多 IDC 架构设计,企业级应用数据库设计等。

OSChina 高手问答一贯的风格,不欢迎任何与主题无关的讨论和喷子。

下面欢迎大家就 MySQL 8.0 相关的问题向两位老师进行提问,请直接回帖提问。

加载中
1
chengtao114
chengtao114

@叶金荣 ,从5.6升级到8,有那些坑?谢谢

SmileTower
SmileTower
又发现一坑,表名大小写的问题 https://segmentfault.com/q/1010000014516106
wubx
wubx
目前看到的: 字符集可能会造成索引失效。 认证这块一些程序的Driver还没跟上。
MrXionGe
MrXionGe
回复 @empty_null : 12.0.27不支持,我还没升级28版本
物种起源-达尔文
物种起源-达尔文
回复 @SmileTower : caching_sha2_password是很坑,但是navicat是支持的。
SmileTower
SmileTower
1. caching_sha2_password 坑,第三工具都不支持 2. mysql-connector-java 必须是5.1.46 或 8.0.11,有些第三方服务,你要拉源码改动
1
叶金荣
叶金荣

引用来自“黄隐翁”的评论

@叶金荣 性能翻倍了,但是稳定性如何?是否可以近期就部署于生产环境?

个人建议,至少再等3个小版本才部署到生产环境,如果急着用的话,可以先小规模尝试下。

1
wubx
wubx

建议大家先不要着急升级到8.0.

目前有几个问题需要确认下来:

1.  认证问题

2. 字符集,这个地方要特别注意,特别是利用inplace升级上来的。 可能会遇到索引失效的问题。

1
叶金荣
叶金荣

引用来自“Eviltuzki”的评论

@wubx 

MySQL 8 已彻底弃用 MyISAM 引擎,想知道8是否还支持全文检索?

MyISAM还能用的。

而且,InnoDB从5.6开始也已经支持全文检索了。

P.S,不好好看文档啊。

1
员系

@wubx 请问mysql8比5.7性能提升2倍表现在哪里,为何我在本地测试的查询和添加数据都没5.7版本的快

0
請輸入暱稱
請輸入暱稱
我们很多数据库 还在使用5.1或5.5 ;官方上面说不支持跨版本升级,也不能倒入数据升级;只给出了性能提升;那么 数据占用空间是否会增加,是不是支持低版本数据复制,我们怎样迁移到新版本
MrXionGe
MrXionGe
回复 @wubx : 您的这种方法真的好,我是5.7升级的8.0,压缩包直接解压覆盖,再upgrade一下数据表就OK。
wubx
wubx
低版本向高本版及跨版本升级,官方一般建议是做逻辑类升级, 即,导出来再导回去。 实际上也可以通过在让高版本做一个从库:主库低版本导出,高版本 导入,把复制改成statement,做过渡,例如跑上3-5天的,同时利用pt-table-checksum做校验。 最终确认没问题,在切换,后续再把日志改成row+gtid格式。
0
文敦赋
文敦赋
性能提升在那些方面?
wubx
wubx
最大的改善,应该说是Redo这块引入了一个并行,这是一个大的提升。 另外在日志复制这块也做了大的改善,目前知数堂正在规则邀请官方人员,对Innodb,MySQL 8.0 复制改善做一个公开课分享: 欢加入QQ群: 650149401 参加交流。
鳄鱼的眼泪
因为使用了最新的硬件
0
Li_Peng
Li_Peng

@叶金荣 您好,请问MySQL 8现在默认使用ut8mb4编码,是否会对性能产生影响呢?从MySQL 5.7迁移到MySQL 8都需要做哪些配置上的优化呢?谢谢。

wubx
wubx
如果做升级,建议还是把字符集改成utf8 ,不要使用默认。
_____Lex
_____Lex
utf8只能支持最大3字节/字符,而utf8mb4是4字节
0
NickWilde
NickWilde

@叶金荣 老师好,想请教用容器启动 mysql 组集群到底对性能损耗有好大?是不是真不推荐数据库容器化,数据库存储放到分布式存储集群上的方式?谢谢。

0
蟋蟀哥哥
蟋蟀哥哥

@叶金荣 性能翻倍,有没有详细的各种操作的性能速度对比?最好是再和Maria,Percona这些一起做个横向对比.

返回顶部
顶部