68 lines
1.6 KiB
Bash
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
|
|
|
|
|