子方有话
以前拿服务器,都是小内存小水管,因此也总是装着mysql5.5的低版本。子方最近拿到了一台新的服务器,看到wordpress后台建议mysql版本大于5.6,就想着准备趁着这次机会,把mysql的版本提高一些。子方试过多种搭配方案,但事情都没有想象中的顺利,前后搞了很久。
目标配置
子方计划使用 mysql5.7 + php7.4。服务器只有2G,因此最多也只能提升到这个版本是比较安全的,装MySQL 5.6或5.7及MariaDB 10必须1G以上内存,更高版本至少要2G内存。lnmp1.7测试版已经放出,新增了php7.4, 出于便利,就一次性升级到新版本吧。
然而,这个过程对于子方来说并不顺利!花了超多时间,阿里云这坑货还不能网络重装(可能是子方食用方法不对,试了几个脚本,都卡住了)
错误代码
内存不够,系统直接把占用资源最大的进程杀掉,也就是编译进程
[ 76%] Building CXX object sql/CMakeFiles/sql.dir/datadict.cc.o
[ 76%] Building CXX object sql/CMakeFiles/sql.dir/debug_sync.cc.o
[ 76%] Building CXX object sql/CMakeFiles/sql.dir/derror.cc.o
[ 76%] Building CXX object sql/CMakeFiles/sql.dir/discover.cc.o
[ 76%] Building CXX object sql/CMakeFiles/sql.dir/field.cc.o
[ 76%] Building CXX object sql/CMakeFiles/sql.dir/field_conv.cc.o
[ 76%] Building CXX object sql/CMakeFiles/sql.dir/filesort.cc.o
[ 76%] Building CXX object sql/CMakeFiles/sql.dir/filesort_utils.cc.o
[ 76%] Building CXX object sql/CMakeFiles/sql.dir/aggregate_check.cc.o
配置难点
1、系统配置:2H2G小机器
2、阿里云默认不开启swap交换文件,就算你手动添加,也不能真正被使用!参见:阿里云ECS没有交换分区swap怎么办?解决小内存安装mysql5.5+的问题
3、centos8镜像有问题,内存太小无法安装mysql5.7,可能切勿使用!镜像名称大概是centos_8_0_x64_20G_alibase_20200218.vhd
4、补充一个配置思路,lnmp一键包是编译安装,吃内存,因此也可以采用二进制安装lnmp环境。子方在centos上测试过,也是能装成功的
配置过程
1、切换镜像为debian10,安全加固什么的没必要
2、ssh成功登录后,调整swappiness值。一般是60的,子方这里暴力一点,参数内容在上面的链接有进一步解释
sysctl vm.swappiness=100
3、 下载nmp一键包自动安装脚本脚本
wget http://soft.vpser.net/lnmp/lnmp1.7beta.tar.gz -cO lnmp1.7beta.tar.gz && tar zxf lnmp1.7beta.tar.gz && cd lnmp1.7
4、子方要增加fileinfo扩展,具体参考子方以前写过的内容:【lnmp1.6一键包】开启PHP模块fileinfo扩展及安装教程
nano lnmp.conf
5、自动安装,官方和没有生成lnmp1.7的选项,子方是自己调整的,如果不是增加fileinfo扩展,也可以和上面的连起来。
LNMP_Auto="y" DBSelect="4" DB_Root_Password="uliaoscom" InstallInnodb="y" PHPSelect="10" SelectMalloc="2" CheckMirror="n" ./install.sh lnmp #具体而言:自动执行 + 按照mysql5.7 + 数据库密码为uliaoscom + 安装innodb + php7.4
6、安装完成。如果这里能够帮助到你,欢迎通过pc端下方的“赏”支持子方的服务器开销