40
回答
高手问答第 196 期 —— 号称性能提升 2 倍的 MySQL 8 来袭,我们该如何应对?
华为云4核8G,高性能云服务器,免费试用   

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 相关的问题向两位老师进行提问,请直接回帖提问。

举报
局长
发帖于2个月前 40回/6K+阅
共有40个答案 最后回答: 1周前

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

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

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

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

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

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

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

1.  认证问题

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

引用来自“Eviltuzki”的评论

@wubx 

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

MyISAM还能用的。

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

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

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

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

--- 共有 2 条评论 ---
wubx如果做升级,建议还是把字符集改成utf8 ,不要使用默认。 2个月前 回复
_____Lexutf8只能支持最大3字节/字符,而utf8mb4是4字节 2个月前 回复

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

顶部