|
适用:宝塔 11.8.1,Anolis OS 8.10 x86_64 一、现象
面板安装 MySQL 8.4 连续失败,10 秒即结束,提示“安装失败,文件不存在:/www/server/mysql/bin/mysql”。日志只有脚本下载和 Successify,无实际安装输出,并出现“cat: /etc/redhat-release: No such file or directory”。 二、原因
宝塔极速安装脚本 mysql_new.sh 的系统识别函数 Get_Sys_Version() 未包含 “anolis”,导致走 fallback 分支下载编译脚本 mysql.sh 执行时,漏传了 “install 8.4” 参数,使安装逻辑被完全跳过,未生成任何 MySQL 文件。同时 Anolis 无 /etc/redhat-release,导致辅助报错。 三、解决(已验证通过)
思路:因远程脚本每次重新下载,可修改本地安装入口 install_soft.sh,使其在安装 MySQL 时优先使用已添加 Anolis 8 识别的修复版脚本 mysql_fix.sh,从而走二进制安装路径。 步骤: 生成修复脚本
cp /www/server/panel/install/mysql_new.sh /www/server/panel/install/mysql_fix.sh
编辑 mysql_fix.sh,在 Get_Sys_Version 函数中,于 almalinux|rocky|rhel 9 判断下方增加:
elif [ "{ID}" == "anolis" ] && [[ "{OS_V}" =~ ^(8)$ ]];then
OS_NAME="el"
fi 修改安装入口
编辑 /www/server/panel/install/install_soft.sh,找到下载远程脚本的 wget 行,改为:
if [ "name" == 'mysql' ] && [ -f '/www/server/panel/install/mysql_fix.sh' ]; then \cp -f /www/server/panel/install/mysql_fix.sh name.sh
else
wget --no-check-certificate -O [size=1.21em]name.shname.shserverUrl/[size=1.21em]mtype/mtype/name.sh
fi 重新安装
在面板软件商店再次点击安装 MySQL 8.4,或执行:
cd /www/server/panel/install && /bin/bash install_soft.sh 1 install mysql 8.4
约 2~3 分钟后安装成功,MySQL 8.4.10 运行在 3306 端口。 修复面板密码记录
若面板显示 root 密码为 admin 且无法连接,执行:
sqlite3 /www/server/panel/data/db/default.db "update config set mysql_root='实际密码' where id=1;"
sqlite3 /www/server/panel/data/default.db "update config set mysql_root='实际密码' where id=1;"
四、验证
MySQL 启动正常,端口监听、服务自启、面板管理功能均恢复。 五、注意事项
面板升级可能覆盖 install_soft.sh,届时需重新应用步骤 2。其他 MySQL 版本可参考相同方法在 mysql_new.sh 中添加 Anolis 8 识别。
|