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

【待反馈】宝塔面板无法安装MySQL系数据库

发表在 Linux面板7 天前 [复制链接] 1 116

面板:正式版11.7.0;影响版本为任一MySQL系数据库(包括但可能不限于MySQL、MariaDB)
系统版本:Debian GNU/Linux 13 (trixie)
问题描述:应用商店MySQL安装崩溃,无法安装任一版本的MySQL数据库
截图: a76c401e51e03f8bc40893bb9b95382e.png
dc4e1b34f74032f826ce6005ee7329e0.png
使用道具 举报 只看该作者 回复
发表于 6 天前 | 显示全部楼层
您好,看您截图中public.sh 这个文件存在语法错误,您打开面板文件管理,找到
/www/server/panel/install 目录下
找到public.sh,把下面内容覆盖进去后,重新安装MySQL,另外MySQL8.4版本是MySQL官方长期维护的版本,到2032年结束,如果当前对MySQL版本没有别的特殊要求,程序又支持MySQL8.4,那么优先安装这个版本

  1. #!/bin/bash
  2. PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
  3. pyenv_bin=/www/server/panel/pyenv/bin
  4. rep_path=${pyenv_bin}:$PATH
  5. if [ -d "$pyenv_bin" ];then
  6.         PATH=$rep_path
  7. fi
  8. export PATH
  9. export LANG=en_US.UTF-8
  10. export LANGUAGE=en_US:en

  11. NODE_FILE_CHECK=$(cat /www/server/panel/data/node.json |grep 125.88.182.172)
  12. if [ "${NODE_FILE_CHECK}" ];then
  13.         rm -f /www/server/panel/data/node.json
  14. fi

  15. if [ -f "/www/server/panel/install/d_node.pl" ];then
  16.         LOCAL_DATE=$(date +%Y-%m-%d)
  17.         FILE_DATE=$(stat /www/server/panel/install/d_node.pl|grep Change|awk '{print $2}')
  18.         if [ "${LOCAL_DATE}" != "${FILE_DATE}" ];then
  19.                 rm -f /www/server/panel/install/d_node.pl
  20.         else
  21.                 test_url=$(cat /www/server/panel/install/d_node.pl)
  22.                 HTTP_CHECK=$(curl --connect-timeout 3 -m 3 2>/dev/null -w "%{http_code} %{time_total}" ${test_url}/net_test|xargs|awk '{print $2}')
  23.                 if [ "${HTTP_CHECK}" == "200" ];then
  24.                         NODE_URL=$test_url
  25.                 fi
  26.         fi
  27. fi

  28. get_node_url(){
  29.         nodes=(https://dg2.bt.cn https://download.bt.cn https://ctcc1-node.bt.cn https://cmcc1-node.bt.cn https://ctcc2-node.bt.cn https://hk1-node.bt.cn https://na1-node.bt.cn https://jp1-node.bt.cn https://cf1-node.aapanel.com);

  30.         if [ -f "/www/server/panel/data/domestic_ip.pl" ];then
  31.                 nodes=(https://dg2.bt.cn https://download.bt.cn https://ctcc1-node.bt.cn https://cmcc1-node.bt.cn https://ctcc2-node.bt.cn https://hk1-node.bt.cn);
  32.         fi

  33.         if [ -f "/www/server/panel/data/foreign_ip.pl" ];then
  34.                 nodes=(https://cf1-node.aapanel.com https://dg2.bt.cn https://na1-node.bt.cn  https://jp1-node.bt.cn https://download.bt.cn https://ctcc1-node.bt.cn  https://ctcc2-node.bt.cn https://hk1-node.bt.cn);
  35.         fi

  36.         if [ "$1" ];then
  37.                 nodes=($(echo ${nodes[*]}|sed "s#${1}##"))
  38.         fi

  39.         tmp_file1=/dev/shm/net_test1.pl
  40.         tmp_file2=/dev/shm/net_test2.pl
  41.         [ -f "${tmp_file1}" ] && rm -f ${tmp_file1}
  42.         [ -f "${tmp_file2}" ] && rm -f ${tmp_file2}
  43.         touch $tmp_file1
  44.         touch $tmp_file2
  45.         for node in ${nodes[@]};
  46.         do
  47.                 if [ "${node}" == "https://cf1-node.aapanel.com" ];then
  48.                         NODE_CHECK=$(curl --connect-timeout 3 -m 3 2>/dev/null -w "%{http_code} %{time_total}" ${node}/1net_test|xargs)
  49.                 else
  50.                         NODE_CHECK=$(curl --connect-timeout 3 -m 3 2>/dev/null -w "%{http_code} %{time_total}" ${node}/net_test|xargs)
  51.                 fi
  52.                 RES=$(echo ${NODE_CHECK}|awk '{print $1}')
  53.                 NODE_STATUS=$(echo ${NODE_CHECK}|awk '{print $2}')
  54.                 TIME_TOTAL=$(echo ${NODE_CHECK}|awk '{print $3 * 1000 - 500 }'|cut -d '.' -f 1)
  55.                 if [ "${NODE_STATUS}" == "200" ];then
  56.                         if [ $TIME_TOTAL -lt 300 ];then
  57.                                 if [ $RES -ge 1500 ];then
  58.                                         echo "$RES $node" >> $tmp_file1
  59.                                 fi
  60.                         else
  61.                                 if [ $RES -ge 1500 ];then
  62.                                         echo "$TIME_TOTAL $node" >> $tmp_file2
  63.                                 fi
  64.                         fi

  65.                         i=$(($i+1))
  66.                         if [ $TIME_TOTAL -lt 300 ];then
  67.                                 if [ $RES -ge 2390 ];then
  68.                                         break;
  69.                                 fi
  70.                         fi       
  71.                 fi
  72.         done

  73.         NODE_URL=$(cat $tmp_file1|sort -r -g -t " " -k 1|head -n 1|awk '{print $2}')
  74.         if [ -z "$NODE_URL" ];then
  75.                 NODE_URL=$(cat $tmp_file2|sort -g -t " " -k 1|head -n 1|awk '{print $2}')
  76.                 if [ -z "$NODE_URL" ];then
  77.                         NODE_URL='https://download.bt.cn';
  78.                 fi
  79.         fi
  80.         rm -f $tmp_file1
  81.         rm -f $tmp_file2
  82. }

  83. GetCpuStat(){
  84.         time1=$(cat /proc/stat |grep 'cpu ')
  85.         sleep 1
  86.         time2=$(cat /proc/stat |grep 'cpu ')
  87.         cpuTime1=$(echo ${time1}|awk '{print $2+$3+$4+$5+$6+$7+$8}')
  88.         cpuTime2=$(echo ${time2}|awk '{print $2+$3+$4+$5+$6+$7+$8}')
  89.         runTime=$((${cpuTime2}-${cpuTime1}))
  90.         idelTime1=$(echo ${time1}|awk '{print $5}')
  91.         idelTime2=$(echo ${time2}|awk '{print $5}')
  92.         idelTime=$((${idelTime2}-${idelTime1}))
  93.         useTime=$(((${runTime}-${idelTime})*3))
  94.         [ ${useTime} -gt ${runTime} ] && cpuBusy="true"
  95.         if [ "${cpuBusy}" == "true" ]; then
  96.                 cpuCore=$((${cpuInfo}/2))
  97.         else
  98.                 cpuCore=$((${cpuInfo}-1))
  99.         fi
  100. }
  101. GetPackManager(){
  102.         if [ -f "/usr/bin/yum" ] && [ -f "/etc/yum.conf" ]; then
  103.                 PM="yum"
  104.         elif [ -f "/usr/bin/apt-get" ] && [ -f "/usr/bin/dpkg" ]; then
  105.                 PM="apt-get"               
  106.         fi
  107. }

  108. bt_check(){
  109.         p_path=/www/server/panel/class/panelPlugin.py
  110.         if [ -f $p_path ];then
  111.                 is_ext=$(cat $p_path|grep btwaf)
  112.                 if [ "$is_ext" != "" ];then
  113.                         send_check
  114.                 fi
  115.         fi
  116.        
  117.         p_path=/www/server/panel/BTPanel/templates/default/index.html
  118.         if [ -f $p_path ];then
  119.                 is_ext=$(cat $p_path|grep fbi)
  120.                 if [ "$is_ext" != "" ];then
  121.                         send_check
  122.                 fi
  123.         fi
  124. }

  125. send_check(){
  126.         chattr -i /etc/init.d/bt
  127.         chmod +x /etc/init.d/bt
  128.         p_path2=/www/server/panel/class/common.py
  129.         p_version=$(cat $p_path2|grep "version = "|awk '{print $3}'|tr -cd [0-9.])
  130.         curl -sS --connect-timeout 3 -m 60 https://www.bt.cn/api/panel/notpro?version=$p_version
  131.         NODE_URL=""
  132.         exit 0;
  133. }
  134. GetSysInfo(){
  135.         if [ "${PM}" = "yum" ]; then
  136.                 SYS_VERSION=$(cat /etc/redhat-release)
  137.         elif [ "${PM}" = "apt-get" ]; then
  138.                 SYS_VERSION=$(cat /etc/issue)
  139.         fi
  140.         SYS_INFO=$(uname -msr)
  141.         SYS_BIT=$(getconf LONG_BIT)
  142.         MEM_TOTAL=$(free -m|grep Mem|awk '{print $2}')
  143.         CPU_INFO=$(getconf _NPROCESSORS_ONLN)
  144.         GCC_VER=$(gcc -v 2>&1|grep "gcc version"|awk '{print $3}')
  145.         CMAKE_VER=$(cmake --version|grep version|awk '{print $3}')

  146.         echo -e ${SYS_VERSION}
  147.         echo -e Bit:${SYS_BIT} Mem:${MEM_TOTAL}M Core:${CPU_INFO} gcc:${GCC_VER} cmake:${CMAKE_VER}
  148.         echo -e ${SYS_INFO}
  149. }
  150. cpuInfo=$(getconf _NPROCESSORS_ONLN)
  151. if [ "${cpuInfo}" -ge "4" ];then
  152.         GetCpuStat
  153. else
  154.         cpuCore="1"
  155. fi
  156. GetPackManager

  157. if [ -d "/www/server/phpmyadmin/pma" ];then
  158.         rm -rf /www/server/phpmyadmin/pma
  159.         EN_CHECK=$(cat /www/server/panel/config/config.json |grep English)
  160.         if [ "${EN_CHECK}" ];then
  161.                 curl https://download.bt.cn/install/update6_en.sh|bash
  162.         else
  163.                 curl https://download.bt.cn/install/update6.sh|bash
  164.         fi
  165.         echo > /www/server/panel/data/restart.pl
  166. fi

  167. if [ ! $NODE_URL ];then
  168.         EN_CHECK=$(cat /www/server/panel/config/config.json |grep English)
  169.         if [ -z "${EN_CHECK}" ];then
  170.                 echo '正在选择下载节点...';
  171.         else
  172.                 echo "selecting download node...";
  173.         fi
  174.         get_node_url
  175.         bt_check
  176. fi


复制代码
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

紧急运维服务

响应时间:3分钟

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

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

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

点击联系技术分析

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

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