#!/bin/bash set -e # Variables - replace these with your desired values or use environment variables ADMIN_USER="admin" ADMIN_PASSWORD=$(openssl rand -base64 32) echo "Creating MySQL admin user with root-like privileges..." # Execute MySQL commands inside the container mysql -uroot -p"${MYSQL_ROOT_PASSWORD}" -e " DROP USER IF EXISTS '$ADMIN_USER'@'%'; CREATE USER '$ADMIN_USER'@'%' IDENTIFIED BY '$ADMIN_PASSWORD'; GRANT ALL PRIVILEGES ON *.* TO '$ADMIN_USER'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES; SELECT User, Host FROM mysql.user WHERE User = '$ADMIN_USER'; " 2>/dev/null # Check if the command was successful if [ $? -eq 0 ]; then echo "✅ MySQL admin user '$ADMIN_USER' created successfully!" echo "Connection details:" echo " - Username: $ADMIN_USER" echo " - Password: $ADMIN_PASSWORD" echo " - Host: localhost" echo " - Port: 3806 (mapped port)" # Optionally save credentials to a file echo "Saving credentials to /opt/admin_credentials.txt" echo "Username: $ADMIN_USER" > /opt/admin_credentials.txt echo "Password: $ADMIN_PASSWORD" >> /opt/admin_credentials.txt chmod 600 /opt/admin_credentials.txt else echo "❌ Failed to create MySQL admin user." echo "Please check your container status and credentials." fi