当前位置:论坛首页 > Linux面板 > 讨论

宝塔面板v11.8.1安装 MySQL 8.4.10 失败 — 问题分析与解决.....

发表在 Linux面板5 天前 [复制链接] 0 150

适用:宝塔 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 识别。



使用道具 举报 只看该作者 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术分析

工作时间:09:00至18:30

快速回复 返回顶部 返回列表