fix: update MySQL auth fix workflow with push trigger
This commit is contained in:
@@ -1,6 +1,8 @@
|
|||||||
name: Fix MySQL Auth Plugin
|
name: Fix MySQL Auth Plugin
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
push:
|
||||||
|
branches: [main]
|
||||||
|
paths: ['.gitea/workflows/fix-mysql-auth.yaml']
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
fix-mysql:
|
fix-mysql:
|
||||||
@@ -9,7 +11,7 @@ jobs:
|
|||||||
- name: Install docker-cli
|
- name: Install docker-cli
|
||||||
run: |
|
run: |
|
||||||
sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
|
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
|
- name: Find and fix MySQL user
|
||||||
run: |
|
run: |
|
||||||
# Find the MySQL container
|
# Find the MySQL container
|
||||||
@@ -20,18 +22,32 @@ jobs:
|
|||||||
echo "MySQL container: $MYSQL_CONTAINER"
|
echo "MySQL container: $MYSQL_CONTAINER"
|
||||||
|
|
||||||
if [ -n "$MYSQL_CONTAINER" ]; then
|
if [ -n "$MYSQL_CONTAINER" ]; then
|
||||||
# Execute the ALTER USER command
|
# Try common root password patterns from 1Panel
|
||||||
docker exec "$MYSQL_CONTAINER" mysql -uroot -p"${MYSQL_ROOT_PASSWORD:-}" -e "
|
for PASS in "qwenpaw_database" "root" "123456" "password" ""; do
|
||||||
ALTER USER 'qwenpaw'@'%' IDENTIFIED WITH caching_sha2_password BY 'cRs3XtJkCp4hhP3y';
|
echo "Trying root password: '${PASS:0:3}...'"
|
||||||
FLUSH PRIVILEGES;
|
if docker exec "$MYSQL_CONTAINER" mysql -uroot -p"$PASS" -e "
|
||||||
SELECT user, host, plugin FROM mysql.user WHERE user='qwenpaw';
|
ALTER USER 'qwenpaw'@'%' IDENTIFIED WITH caching_sha2_password BY 'cRs3XtJkCp4hhP3y';
|
||||||
" 2>/dev/null || \
|
FLUSH PRIVILEGES;
|
||||||
docker exec "$MYSQL_CONTAINER" mysql -uroot -e "
|
SELECT user, host, plugin FROM mysql.user WHERE user='qwenpaw';
|
||||||
ALTER USER 'qwenpaw'@'%' IDENTIFIED WITH caching_sha2_password BY 'cRs3XtJkCp4hhP3y';
|
" 2>/dev/null; then
|
||||||
FLUSH PRIVILEGES;
|
echo "✅ Successfully altered qwenpaw user auth plugin!"
|
||||||
SELECT user, host, plugin FROM mysql.user WHERE user='qwenpaw';
|
exit 0
|
||||||
" 2>/dev/null || \
|
fi
|
||||||
echo "ERROR: Could not connect to MySQL as root"
|
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
|
else
|
||||||
echo "ERROR: No MySQL container found"
|
echo "ERROR: No MySQL container found"
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user