From e4fe5afb80222afb0bf00dbfb9a2118dda1bccd8 Mon Sep 17 00:00:00 2001 From: wonder Date: Sun, 23 Aug 2026 15:30:50 +0000 Subject: [PATCH] fix: update MySQL auth fix workflow with push trigger --- .gitea/workflows/fix-mysql-auth.yaml | 44 +++++++++++++++++++--------- 1 file changed, 30 insertions(+), 14 deletions(-) diff --git a/.gitea/workflows/fix-mysql-auth.yaml b/.gitea/workflows/fix-mysql-auth.yaml index cac3344..c2c3348 100644 --- a/.gitea/workflows/fix-mysql-auth.yaml +++ b/.gitea/workflows/fix-mysql-auth.yaml @@ -1,6 +1,8 @@ name: Fix MySQL Auth Plugin on: - workflow_dispatch: + push: + branches: [main] + paths: ['.gitea/workflows/fix-mysql-auth.yaml'] jobs: fix-mysql: @@ -9,7 +11,7 @@ jobs: - name: Install docker-cli run: | sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories - apk add --no-cache docker-cli mysql-client + apk add --no-cache docker-cli - name: Find and fix MySQL user run: | # Find the MySQL container @@ -20,18 +22,32 @@ jobs: echo "MySQL container: $MYSQL_CONTAINER" if [ -n "$MYSQL_CONTAINER" ]; then - # Execute the ALTER USER command - docker exec "$MYSQL_CONTAINER" mysql -uroot -p"${MYSQL_ROOT_PASSWORD:-}" -e " - ALTER USER 'qwenpaw'@'%' IDENTIFIED WITH caching_sha2_password BY 'cRs3XtJkCp4hhP3y'; - FLUSH PRIVILEGES; - SELECT user, host, plugin FROM mysql.user WHERE user='qwenpaw'; - " 2>/dev/null || \ - docker exec "$MYSQL_CONTAINER" mysql -uroot -e " - ALTER USER 'qwenpaw'@'%' IDENTIFIED WITH caching_sha2_password BY 'cRs3XtJkCp4hhP3y'; - FLUSH PRIVILEGES; - SELECT user, host, plugin FROM mysql.user WHERE user='qwenpaw'; - " 2>/dev/null || \ - echo "ERROR: Could not connect to MySQL as root" + # Try common root password patterns from 1Panel + for PASS in "qwenpaw_database" "root" "123456" "password" ""; do + echo "Trying root password: '${PASS:0:3}...'" + if docker exec "$MYSQL_CONTAINER" mysql -uroot -p"$PASS" -e " + ALTER USER 'qwenpaw'@'%' IDENTIFIED WITH caching_sha2_password BY 'cRs3XtJkCp4hhP3y'; + FLUSH PRIVILEGES; + SELECT user, host, plugin FROM mysql.user WHERE user='qwenpaw'; + " 2>/dev/null; then + echo "✅ Successfully altered qwenpaw user auth plugin!" + exit 0 + fi + done + + # Also try via environment variable + echo "Trying MYSQL_ROOT_PASSWORD env var..." + ROOT_PASS=$(docker inspect "$MYSQL_CONTAINER" --format '{{range .Config.Env}}{{println .}}{{end}}' | grep MYSQL_ROOT_PASSWORD | cut -d= -f2) + if [ -n "$ROOT_PASS" ]; then + echo "Found MYSQL_ROOT_PASSWORD: ${ROOT_PASS:0:3}..." + docker exec "$MYSQL_CONTAINER" mysql -uroot -p"$ROOT_PASS" -e " + ALTER USER 'qwenpaw'@'%' IDENTIFIED WITH caching_sha2_password BY 'cRs3XtJkCp4hhP3y'; + FLUSH PRIVILEGES; + SELECT user, host, plugin FROM mysql.user WHERE user='qwenpaw'; + " && echo "✅ Successfully altered qwenpaw user auth plugin!" || echo "❌ Failed" + else + echo "No MYSQL_ROOT_PASSWORD found in container env" + fi else echo "ERROR: No MySQL container found" fi