38 lines
1.5 KiB
YAML
38 lines
1.5 KiB
YAML
name: Fix MySQL Auth Plugin
|
|
on:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
fix-mysql:
|
|
runs-on: aliyun
|
|
steps:
|
|
- 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
|
|
- name: Find and fix MySQL user
|
|
run: |
|
|
# Find the MySQL container
|
|
MYSQL_CONTAINER=$(docker ps --filter "ancestor=mysql" --format "{{.Names}}" | head -1)
|
|
if [ -z "$MYSQL_CONTAINER" ]; then
|
|
MYSQL_CONTAINER=$(docker ps --filter "name=mysql" --format "{{.Names}}" | head -1)
|
|
fi
|
|
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"
|
|
else
|
|
echo "ERROR: No MySQL container found"
|
|
fi
|