From a086a20eb0db4bd677bc466b86b0d0c10ad7fd68 Mon Sep 17 00:00:00 2001 From: qaq <1937228092@qq.com> Date: Fri, 1 Aug 2025 17:23:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=87=8D=E7=BD=AE=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E5=AF=86=E7=A0=81=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- panel_install.sh | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/panel_install.sh b/panel_install.sh index 622714e..ca77611 100755 --- a/panel_install.sh +++ b/panel_install.sh @@ -960,14 +960,33 @@ reset_mysql_password() { # 以跳过权限验证模式启动MySQL容器 echo "🔧 以跳过权限验证模式启动MySQL容器..." - # 获取MySQL镜像名称 - MYSQL_IMAGE=$(grep -A 10 "gost-mysql:" docker-compose.yml | grep "image:" | head -1 | awk '{print $2}' | tr -d '"' || echo "mysql:8.0") + # 获取MySQL镜像名称 - 根据docker-compose配置 + # 检查IPv6配置来确定使用哪个镜像版本 + if check_ipv6_support > /dev/null 2>&1; then + # IPv6环境通常使用v6版本的compose文件 + MYSQL_IMAGE="mysql:5.7" + else + # IPv4环境使用v4版本的compose文件 + MYSQL_IMAGE="mysql:5.7" + fi + + # 如果docker-compose.yml存在,从中获取实际的镜像名称 + if [[ -f "docker-compose.yml" ]]; then + MYSQL_IMAGE_FROM_FILE=$(grep -A 10 "mysql:" docker-compose.yml | grep "image:" | head -1 | sed 's/.*image:[[:space:]]*//' | xargs) + if [[ -n "$MYSQL_IMAGE_FROM_FILE" ]]; then + MYSQL_IMAGE="$MYSQL_IMAGE_FROM_FILE" + fi + fi + + echo "🖼️ MySQL镜像: $MYSQL_IMAGE" # 获取数据库卷挂载路径 - MYSQL_VOLUME=$(docker volume ls | grep mysql | awk '{print $2}' | head -1) + MYSQL_VOLUME=$(docker volume ls | grep -E "(mysql|gost.*mysql)" | awk '{print $2}' | head -1) if [[ -z "$MYSQL_VOLUME" ]]; then echo "❌ 未找到MySQL数据卷" + echo "🔍 当前所有数据卷:" + docker volume ls return 1 fi