宝塔 Linux 面板小内存服务器编译安装 MySQL 8

宝塔面板在编译安装 MySQL 8 时,要求 3700M 内存,如果内存不足,我们可以选择极速安装,或者,如果一定要自己编译的话,可以使用命令行来跳过配置检测。

实际上,MySQL 8 编译过程中,需要 6G 以上的内存。如果我们的内存实在不够,可以创建 swap 虚拟内存。

以一台 2G 内存的服务器为例,我们新增 4G 的 swap,安装 Linux 工具箱,设置 swap 虚拟内存,输入

4096

点击确定。

如果设置 swap 以后,数据盘空间过小,那 Linux 工具箱目前并不适合我们。把上面的数字改回0,然后手动设置 swap 到系统盘:

fallocate -l 4G /swap
chown root:root /swap 
chmod 0600 /swap
mkswap /swap
swapon /swap
echo '/swap    swap    swap    defaults    0 0' >> /etc/fstab

查看一下 swap 是否开启成功:

swapon -s

Filename                                Type            Size    Used    Priority
/swap                                   file    4194300 9480    -2

现在内存应该够了,我们还要检查一下,/www 所在的磁盘够不够。编译 MySQL 8 占用的空间巨大,需要约 13G。如果不够,把不需要的文件删一下,或者扩容磁盘,这里不赘述。

检查一下各路径的大小:

df -h

Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        858M     0  858M   0% /dev
tmpfs           868M  588K  867M   1% /dev/shm
tmpfs           868M  576K  867M   1% /run
tmpfs           868M     0  868M   0% /sys/fs/cgroup
/dev/vda1        20G  7.5G   12G  41% /
/dev/vdb1        20G  4.4G   15G  22% /www
tmpfs           174M     0  174M   0% /run/user/1003
tmpfs           174M     0  174M   0% /run/user/0

这回肯定够用了。如果不够的话建议先清理磁盘,推荐安装系统后首先编译 MySQL 8,待完成后再编译其他软件 。

由于服务器配置较低,编译过程耗时可能超过 2 小时。在 CentOS 8 系统中,耗时超过 4 小时。为了防止意外断网停止编译,建议使用宝塔终端安装。

运行以下命令,编译安装 MySQL 8.0:

cd /www/server/panel/install
rm -rf mysql.sh
wget http://download.bt.cn/install/0/mysql.sh
bash mysql.sh install 8.0

以后有新版本时,更新命令也是类似的,只要把最后一句改为

bash mysql.sh update 8.0

注意:编译到 67% 和 75% 的时候,会卡在 Linking CXX executable 这个地方,假死好一会儿,原因是 ld.gold 占用了全部内存。编译完成后,安装过程中会将文件从 src 目录复制到上层目录,会多占用一半空间。在编译完成之前尽量清理磁盘空间,务必把数据盘空间留足。


写在最后:

编译安装非常费时费力,但是宝塔现在的极速安装包更新不及时,且有一些比较影响使用的问题。因此暂时还是只能推荐编译。Linux 原本就有非常完善的软件包管理方式,如果以后宝塔能够建立自己的软件安装源,参考成熟的软件源打包分发,那么就可以推荐使用极速安装了。

国内建立安装源的面板,也是有的,比如 AppNode,据称其软件源参考了 Remi。但 AppNode 是一个跟 AMH 类似的,模块中心化的面板,并且,免费版只能建立 3 个站点,且不支持子站。这就注定了 AppNode 不适用于大多数“暂时不赚钱”的站长。而宝塔是不从这些站长身上赚钱的,因此这种盈利模式可以算是“业界良心”。

本文链接:

https://dev.euyyue.com/note/371.html
1 + 5 =
2 评论
    LeoChrome 74Windows 10
    2019年05月14日 回复

    5.6创建的数据库可以直接导入8.0么?

      暮山Chrome 76Windows 10
      2019年05月20日 回复

      @Leo 8.0 新增了 system 和 group 等保留字段,因此有可能不兼容。可以做好备份,导入试试看,如果不兼容,查找这几个字段加上飘号,或者恢复备份。