|
- #!/bin/bash
-
- echo "Permissions"
- chown -R mysql:mysql /var/lib/mysql
-
- # set root password from secret
- if [ ! -z $MYSQL_ROOT_PWD_FILE -a -f $MYSQL_ROOT_PWD_FILE ]; then
- MYSQL_ROOT_PWD=`cat $MYSQL_ROOT_PWD_FILE`;
- fi
-
- if [ ! -z $MYSQL_ROOT_PWD ]; then
- # start server
- echo "Starting server"
- /usr/bin/mysqld_safe --datadir='/var/lib/mysql' & #--skip-grant-tables &
- pid="$!"
- echo "Mysql pid: $pid"
-
- mysql=( mysql )
-
- for i in {30..0}; do
- if echo 'SELECT 1' | "${mysql}" &> /dev/null; then
- break
- fi
- echo 'MySQL init process in progress...'
- sleep 1
- done
- if [ "$i" = 0 ]; then
- echo >&2 'MySQL init process failed or there already was data with a root password set.'
- fi
-
- # Allow access from outside
- #echo "INSERT INTO mysql.user (Host, User) VALUES ('%', 'root');" | "${mysql}"
- echo 'GRANT ALL PRIVILEGES ON *.* TO "root"@"%" WITH GRANT OPTION;' | "${mysql}"
- # set root password
- echo "Setting root password"
- #/usr/bin/mysqladmin -u root flush-privileges password "$MYSQL_ROOT_PWD"
- echo "UPDATE mysql.user SET password=PASSWORD('$MYSQL_ROOT_PWD') WHERE user='root';" | "${mysql}"
- #echo "SET PASSWORD FOR 'root' = PASSWORD('$MYSQL_ROOT_PWD');" | "${mysql}"
- if [ $? != 0 ]; then
- echo >&2 'MySQL root password setting failed.'
- #exit 1
- fi
-
- # Stop server
- echo "Stopping server"
- #if ! kill -s TERM "$pid" || ! wait "$pid"; then
- if ! mysqladmin -u root -p"$MYSQL_ROOT_PWD" shutdown || ! wait "$pid"; then
- echo >&2 'MySQL stop process failed.'
- #exit 1
- fi
-
- fi
-
- echo "Restarting server"
- /usr/bin/mysqld_safe --datadir='/var/lib/mysql'
|