宝塔Linux面板小内存服务器编译安装 MySQL 8.0
如果 1G 内存要装 MySQL 5.7,这篇文章也是适用的。
宝塔 6.9.8
宝塔面板在编译安装 MySQL 8.0 时,要求 4个核心的 CPU,8G 内存,实在是太高了,小站长的服务器一般都不会有如此高的配置。这时候,我们要使用 MySQL 8.0,可以选择极速安装,或者,如果一定要自己编译的话,可以使用命令行来跳过配置检测。不过,MySQL 编译过程中,需要 5G 以上的内存,以及 9G 以上的数据盘空间。如果我们的内存实在不够,可以创建 swap 虚拟内存。
在宝塔面板里的 Linux 工具箱(如果没有可以去软件商店里面安装) 修改 Swap/虚拟内存,输入 0,然后手动设置 swap 到系统盘:
1 | fallocate -l 4G /swap |
查看一下 swap 是否开启成功:
1 | swapon -s |
现在内存有 5933M,应该够了,我们还要检查一下,/www 所在的磁盘够不够,建议剩余空间不小于 10G。如果不够,把不需要的文件删一下,或者扩容磁盘,这里不赘述。
现在磁盘也够了,再检查一下你的临时文件夹 /tmp,一般来说,这个路径在系统盘,共享你系统盘的空间。不过,某些服务器的 /tmp 是单独挂载的,空间也非常小,这个时候,要把它也增大。比如,我们可以同样调整到 10G。
1 | echo 'tmpfs /tmp tmpfs defaults,size=10G 0 0' >> /etc/fstab |
重启系统,检查一下各路径的大小:
1 | df -h |
这回肯定够用了。
由于服务器配置较低,编译过程耗时可能超过两小时,为了防止意外断网停止编译,我们先来创建一个新的 screen:
1 | yum install screen -y && screen -S mysql |
现在窗口空白了,其实这是一个新的窗口。
运行以下命令,编译安装 MySQL 8.0:
1 | cd /www/server/panel/install |
慢慢等,实在等不下去的时候,新建一个终端会话,输入
1 | screen -d mysql |
让它自己慢慢装,大概两小时后,输入
1 | screen -r mysql |
看到 done,就成功了。
今天发现一个后遗症,宝塔数据库工具页面空白,不显示数据表。请宝塔开发者排查了一下,说是 mysqldb 库内部编码转换出错,于是强制重装 mysql-python
1 | pip install mysql-python --force |
结果遇到报错
1 | _mysql.c:44:23: fatal error: my_config.h: No such file or directory |
搜索得到的解决方案是安装 mysql-devel,不过我这边之前已经安装过了,于是尝试重新安装:
1 | yum reinstall mysql-devel -y && pip install mysql-python --force |
这次顺利完成。
不过,问题仍然未解决。无奈之下,打算重启面板试试。不过转念一想,修复面板也会自动重启,顺便还能修复其他问题,比如宝塔本周修复的一些已知问题。于是尝试修复面板,修复完成后,问题解决。