Skip to content
Permalink
61602d70c2
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
executable file 84 lines (63 sloc) 3.5 KB
#!/bin/bash -x
log="/tmp/start.log"
echo "Starting Container: " > $log
date >> $log
echo "" >> $log
if [ -e "/tmp/firsttimerunning" ]; then
set -e
echo "Checking args" >> $log
if [ "${1:0:1}" = '-' ]; then
set -- mysqld_safe "$@" >> $log
fi
echo "Setting DataDir: $MYSQL_DATADIR" >> $log
if [ "$CREATE_NEW_DATABASE" == "1" ]; then
echo "Installing MariaDB" >> $log
if [ -z "$MYSQL_ROOT_PASSWORD" -a -z "$MYSQL_ALLOW_EMPTY_PASSWORD" ]; then
echo >&2 'error: database is uninitialized and MYSQL_ROOT_PASSWORD not set' >> $log
echo >&2 ' Did you forget to add -e MYSQL_ROOT_PASSWORD=... ?' >> $log
exit 1
fi
echo 'Running mysql_install_db ...' >> $log
mysql_install_db --datadir="$MYSQL_DATADIR" >> $log
echo 'Finished mysql_install_db' >> $log
# These statements _must_ be on individual lines, and _must_ end with
# semicolons (no line breaks or comments are permitted).
# TODO proper SQL escaping on ALL the things D:
tempSqlFile='/tmp/mysql-first-time.sql'
echo "DELETE FROM mysql.user ;" > $tempSqlFile
echo "CREATE USER 'root'@'%' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}' ;" >> $tempSqlFile
echo "GRANT ALL ON *.* TO 'root'@'%' WITH GRANT OPTION ;" >> $tempSqlFile
echo "GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}';" >> $tempSqlFile
echo "GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;" >> $tempSqlFile
echo "DROP DATABASE IF EXISTS test ;" >> $tempSqlFile
if [ "$MYSQL_DATABASE" != "" ]; then
echo "CREATE DATABASE IF NOT EXISTS \`$MYSQL_DATABASE\` ;" >> "$tempSqlFile"
echo "CREATE USER '$MYSQL_USER'@'%' IDENTIFIED BY '$MYSQL_PASSWORD' ;" >> "$tempSqlFile"
echo "GRANT ALL ON $MYSQL_DATABASE.* TO '$MYSQL_USER'@'%' IDENTIFIED BY '$MYSQL_PASSWORD' ;" >> "$tempSqlFile"
echo "GRANT ALL ON $MYSQL_DATABASE.* TO '$MYSQL_USER'@'localhost' IDENTIFIED BY '$MYSQL_PASSWORD' ;" >> "$tempSqlFile"
echo "GRANT ALL ON $MYSQL_DATABASE.* TO '$MYSQL_USER'@'comanage.compose_i2network' IDENTIFIED BY '$MYSQL_PASSWORD' ;" >> "$tempSqlFile"
echo "GRANT ALL ON $MYSQL_DATABASE.* TO '$MYSQL_USER'@'comanage.comanage_i2network' IDENTIFIED BY '$MYSQL_PASSWORD' ;" >> "$tempSqlFile"
echo "GRANT ALL ON $MYSQL_DATABASE.* TO '$MYSQL_USER'@'comanage.config_i2network' IDENTIFIED BY '$MYSQL_PASSWORD' ;" >> "$tempSqlFile"
fi
echo 'FLUSH PRIVILEGES ;' >> "$tempSqlFile"
echo "character-set-server = utf8mb4" >> /etc/my.cnf
echo "collation-server = utf8mb4_unicode_ci" >> /etc/my.cnf
echo "" >> /etc/my.cnf
echo "Fixing Permissions" >> $log
chown -R mysql:mysql $MYSQL_DATADIR
/root/fix-permissions.sh $MYSQL_DATADIR >> $log
/root/fix-permissions.sh /var/log/mariadb/ >> $log
/root/fix-permissions.sh /var/run/ >> $log
echo "Done Fixing Permissions" >> $log
/usr/bin/mysqld_safe --init-file="$tempSqlFile" --datadir="$MYSQL_DATADIR"
else
echo "Not Creating a MariaDB - Using Existing from DataDir: $MYSQL_DATADIR" >> $log
/usr/bin/mysqld_safe --datadir="$MYSQL_DATADIR"
fi
rm -f /tmp/firsttimerunning
else
echo "Using Existing MariaDB from DataDir: $MYSQL_DATADIR" >> $log
/usr/bin/mysqld_safe --datadir="$MYSQL_DATADIR"
fi
tail -f $log
exit 0