宝塔面板MySQL升级失败c++: internal compiler error: Killed (program cc1plus) 的解决方案

最近笔者的MySQL是5.7.28,官方提示可以升级到5.7.29,点“更新”,发现在编译安装,最终升级失败。查看错误日志,发现提示c++: internal compiler error: Killed (program cc1plus) ,笔者想想这个应该是自己服务器的问题,不应该是宝塔面板官方的shell脚本问题,因为这句话提示说:“c++编译器内部错误,进程被强制杀掉”,所以判断原因应该是机器cpu和内存不足导致编译爆满引起的,那怎么办呢?

登陆宝塔面板后台,首页-打开“Linux工具箱”,点击“Swap/虚拟内存”,“添加Swap”处把swap调大点,再进行更新,应该就OK了。

宝塔面板MySQL升级失败c++: internal compiler error: Killed (program cc1plus) 的解决方案

注意点:

1.编译可能失败,正常不会影响数据,但以防万一,编译更新之前需做好数据备份。

2.编译过程中,尽可能关掉服务器中正在运行的组件,比如php,nginx,memcached等,目的是把cpu和内存性能都让给编译过程。

3.swap原理是从硬盘划一部分空间变成虚拟内存,要确保硬盘有足够的剩余空间。

4.建议swap容量在真实内存容量的1.5倍左右,若您的服务器内存大于4GB,可设1-2GB的固定值,在这里我们可以设置为3到5倍,编译结束后恢复正常设置。

5.如果编译失败,需要删除/www/server/mysql目录项的src(源码包和编译后的文件)和以即将升级的未来版本号命名的文件夹,不然会占用硬盘空间以使重新编译失败。

6.如果编译失败,可加大点swap空间或者再次编译,多试几次应该会成功。

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/experience/sqlexp/1101.html

(1)
huoxiaoqiang的头像huoxiaoqiang
上一篇 2020年2月6日
下一篇 2020年3月1日

相关推荐

发表回复

登录后才能评论