今天我发现宝塔面板里的mysql8.4.8有更新,我就想把数据库更新到最新版本,可以宝塔面板提示内存不足4G,无法更新。
这种情况该如何处理,刚刚我按照gemini给出的方法成功更新。具体过程如下∶
第一步:直接去 MySQL 官方下载 8.4.10 预编译包
我们选择官方基于 glibc 2.28 编译的轻量化最小包(Minimal),物理体积很小,下载极快:
# 1. 进入宝塔的软件安装目录
cd /www/server
# 2. 直接从官方镜像源拉取 8.4.10 预编译绿色包
wget https://cdn.mysql.com/Downloads/MySQL-8.4/mysql-8.4.10-linux-glibc2.28-x86_64-minimal.tar.xz
第二步:解压并无缝替换到宝塔目录
下载完成后,我们通过纯手动的形式把它解压并摆放到宝塔能够识别的位置:
# 1. 解压官方包
tar -xvf mysql.hce-8.4.10-linux-glibc2.28-x86_64-minimal.tar.xz 2>/dev/null || tar -xvf mysql-8.4.10-linux-glibc2.28-x86_64-minimal.tar.xz
# 2. 移除之前可能弄脏的旧目录
rm -rf mysql
# 3. 把解压出来的官方标准目录改名为 mysql
mv mysql*8.4.10*x86_64* mysql
# 4. 纠正目录的用户组权限(必须是 root 归属,否则无法启动)
chown -R root:root /www/server/mysql
# 5. 清理下载的压缩包,释放服务器空间
rm -f mysql*.tar.xz
第三步:直接启动服务完成升级
由于你的 /www/server/data 目录里完好地保存着你原本的数据库数据,官方的 8.4.10 程序读取到旧版数据后,会自动在后台触发数据字典的平滑升级(Upgrade)。
直接运行宝塔的服务启动命令:
/etc/init.d/mysqld start
启动之后,你可以通过以下命令验明正身:
/www/server/mysql/bin/mysql -V
只要看到输出显示是 8.4.10,就代表我们彻底摆脱了宝塔的编译陷阱和内存限制,用最纯净的官方原生二进制顺利完成了升级!
第四步: 更新宝塔面板上的版本标记
echo "8.4.10" > /www/server/mysql/version.pl