#!/bin/bash # # Set MySQL password. # # Config SERVICE="/etc/init.d/mysql" PASSWORD="<%= mysql_rootpw %>" DATADIR="/var/lib/mysql/data" LOGBIN="/var/lib/mysql/mysql-bin" USER="mysql" GROUP="mysql" DEFAULTS="/etc/mysql/debian.cnf" # Stop service #$SERVICE stop # Start without grant tables # This seems unsafe as opens a race condition. #/usr/libexec/mysqld --skip-grant-tables --user=root --datadir=$DATADIR log-bin=$LOGBIN & # Wait #sleep 5 # Change root password echo "USE mysql; UPDATE user SET Password=PASSWORD('$PASSWORD') WHERE User='root' AND Host='localhost';" | \ /usr/bin/mysql --defaults-file=$DEFAULTS # Kill the daemon #killall mysqld # Chown to be on the safe side #chown $USER.$GROUP $LOGBIN* # Start service #$SERVICE start