mysql5.7-8.0及mariaDB简单对比

嗯...MySQL5 .7 ...跟MariaDB8 .0比啊...兼容性是有点差了。
我之前在2 02 2 年帮一个朋友搞过这个,他当时用MySQL5 .7 ,后来想换MariaDB8 .0,结果各种小问题,搞得他头都大了。

MySQL...Oracle那帮人管着,技术支持还算可以吧。
我当年用MySQL5 .7 的时候,出点问题,找Oracle那边,他们倒是挺快地给解决了。
MariaDB就差远了,全靠社区,有时候等半天都没人回话。
我记得有一次我提了个bug,就在网上发帖子,搞了快一个月才有人看。

功能上...MySQL5 .7 就那样吧,够用就行。
我当年那个项目,就是普通网站,访问量也不大,用MySQL5 .7 挺流畅的。
后来MySQL8 .0出了,听说性能好点,新功能也多,但对我来说,用不着那些花里胡哨的。
MariaDB...跟MySQL差不多,但感觉功能上没MySQL8 .0那么给力。
可能是我见识少吧。

升级...从MySQL5 .7 到8 .0,我帮朋友弄过,确实挺简单的,因为都是MySQL家出来的。
但你要是从MySQL整个迁移到MariaDB,那可得小心了。
我朋友搞的时候,就遇到不少坑,比如某个函数在MariaDB上不支持,搞得他没办法,只好又改回来了。
这事儿让我印象特别深,当时我也懵了,后来才反应过来,这迁移不是闹着玩的。

所以啊...你要是现在用MySQL5 .7 ,没啥问题就别换了。
要是不满意,想升级,那可以考虑8 .0。
要是想换MariaDB,我劝你三思,先好好测试测试,别到时候出问题,哭都来不及。
我这人吧,可能有点偏激,但说的都是实在话。

MySQL最新版8.0与5.7之性能对比,看看它是如何改进的

哦,跟你聊聊这个MySQL8 .0跟5 .7 那会儿比,真是天壤之别啊。
我之前在一家做电商的,那会儿还在用5 .7 ,服务器是两台惠普的Dell R7 4 0,内存3 2 G,搞活动的时候CPU都跑满过。

你看啊,8 .0那会儿,我们测试环境用的是AWS的c5 .xlarge,2 个vCPU,8 G内存,跑起来就是跟玩儿似的。
那时候我们用sysbench搞压力测试,就发现8 .0真的猛。
5 .7 那会儿,搞个万把QPS,CPU就得飙到9 0%以上,还老出问题,得重启几次。
换了8 .0之后,同样的压力,CPU也就6 0%多,稳得很。

特别是那个并行读取线程,5 .7 那会儿默认就8 个,一上高并发就卡。
我们调到1 6 个试试,服务器还是觉得吃力。
换了8 .0之后,直接开到3 2 个,CPU才稍微有点感觉,但也没飙起来。
这就能明白为啥8 .0要改文件结构吧?以前那些.frm啊,.TRN啊,搞得文件一大堆,现在整合了,读写都顺了。

还有那个caching_sha2 _password,我们之前在用5 .7 的时候,老有用户反馈远程连接不上,一查是密码加密方式不兼容。
换了8 .0那默认认证方式,再没出过这种幺蛾子。
记得有一次半夜,三个运维小哥折腾半天,最后发现是密码方式不对,气得不行。

不过要说CPU消耗,8 .0那确实比5 .7 要高一点。
我们测试的时候,5 .7 跑满负载,CPU也就7 0%多,8 .0直接飙到8 5 %以上。
后来我们跟AWS的哥们儿聊,说是8 .0优化了日志处理机制,所以CPU资源消耗大点,但处理的事务量明显多啊。
同样时间内,8 .0能处理的交易量是5 .7 的两倍不止。

最让我印象深刻的是有一次搞压力测试,5 .7 直接崩了,得重启。
我们老板脸都绿了,说再不升级就得加服务器。
换了8 .0之后,同样的压力,服务器硬盘IOPS还剩3 0%多呢。
这就能明白为啥现在大家都抢着用8 .0了吧?特别是搞大数据量的,那8 .0简直就是为高并发量身定做的。

不过话说回来,我们最后升级的时候,还是把认证方式又改回mysql_native_password了。
为啥?那帮用户啊,连个密码管理都搞不定,caching_sha2 _password他们直接连不上,还得改回去。
哎,这事儿就挺折腾的。