Files
dockerimages/mariadb/10.11/docker-entrypoint.sh
2024-12-23 14:27:01 +01:00

68 lines
1.6 KiB
Bash

#!/bin/bash
if [[ (! -z "${MYSQL_DAEMON_USER}" ) && ( "${MYSQL_DAEMON_USER}" != "root" ) ]]; then
useradd -r -s /bin/false $MYSQL_DAEMON_USER
if [[ ! -z "${MYSQL_DAEMON_USER_UID}" ]]; then
usermod -u $MYSQL_DAEMON_USER_UID $MYSQL_DAEMON_USER
fi
if [[ ! -z "${MYSQL_DAEMON_USER_GID}" ]]; then
groupmod -g $MYSQL_DAEMON_USER_GID $MYSQL_DAEMON_USER
fi
fi
DBEXIST=1
if [ ! -d "/var/lib/mysql/mysql" ]; then
DBEXIST=0
echo "Creating system tables"
if [[ ! -z "${MYSQL_DAEMON_USER}" ]]; then
mysql_install_db --user=$MYSQL_DAEMON_USER
else
mysql_install_db
fi
else
echo "Skipping system tables creation. Chowning Data"
if [[ ! -z "${MYSQL_DAEMON_USER}" ]]; then
chown -R $(id -u ${MYSQL_DAEMON_USER}):$(id -g ${MYSQL_DAEMON_USER}) /var/lib/mysql
else
chown -R $(id -u):$(id -g) /var/lib/mysql
fi
fi
if [[ ! -z "${MYSQL_DAEMON_USER}" ]]; then
runuser -u ${MYSQL_DAEMON_USER} -- $@ --socket=/tmp/mysql.sock --bind-address=0.0.0.0 &
else
$@ --user=root --socket=/tmp/mysql.sock -bind-address=0.0.0.0 &
fi
if [[ $DBEXIST -eq 0 ]]; then
MYSQLSTARTED=0
while [[ $MYSQLSTARTED -eq 0 ]]
do
if [[ ! -z "${MYSQL_ROOT_PASSWORD}" ]]; then
mysql -u root -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}'" --socket=/tmp/mysql.sock
else
mysql -u root -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'default'" --socket=/tmp/mysql.sock
fi
if [ $? -eq 0 ]; then
MYSQLSTARTED=1
echo "DB Root Password set"
else
echo "Trying to set DB Root Password"
sleep 3
fi
done
else
echo "Skipping DB Root Password setting"
fi
wait