前段时间给一个客户在搭建服务器系统环境的时候,通过编译方式安装mysql的时候,报错“安装失败,文件不存在”

点击右边详情,提示是内存不足导致的安装失败

然后我把服务器内存清理了一下,把服务器运行的所有中间件和多余的应用都停了,按照提示,在服务器终端执行了命令:
touch /www/server/panel/install/i_mysql.pl
重新安装的时候不会出现运行几秒钟就报错了,但是出现了新的问题:每次安装到44-45%的时候,服务器就会整个卡住,持续好几个小时,过后还是提示文件不存在和内存不足的问题。
![]()

根据过往经验,到了这里,有三个解决方案:
一、在本地虚拟机搭建一个相同的宝塔环境,分配足够的内存,安装好过后,把系统镜像覆盖到线上服务器安装(只停留在想法,没试过)
二、增加预算,在阿里云控制面板升级服务器内存(因为这个服务器只有一个官网,而且平时访问量不大,所以感觉没必要)
三、给服务器设置Swap虚拟内存
Swap虚拟内存的作用: 内存不足时的备用空间: 当物理内存耗尽时,操作系统会将不常用的数据和进程暂时存储到 SWAP 空间中,以便释放物理内存供其他程序使用。 提高系统稳定性: SWAP 空间可以帮助避免因为内存不足而导致系统崩溃或程序异常退出。在某些情况下,系统可能会通过将不活动的数据交换到 SWAP 来保持正常运行。
所以,我选择了第三个方案。
给服务器设置Swap虚拟内存有两个方案:
一、在服务器的终端操作来设置。
二、通过宝塔里面的应用来设置。
因为宝塔已经简化了终端操作的Swap虚拟内存的流程,所以没有必要再使用终端来实现
首先,在宝塔的软件商店搜索Swap,会出现一个Linux工具箱,直接点击安装就可以了。

然后,在虚拟内存这一栏,设置需要增加的Swap内存,我设置了增加4G,这样应该是够用了。

为了保险起见,我设置完之后重启了服务器,再次通过编译方式安装mysql(我安装的是mysql 5.7)

编译安装mysql 5.7耗时54分13秒,安装过程中无卡顿,至此,安装成功,问题解决。

评论0