#!/bin/bash

CHECKQ="SHOW GRANTS FOR 'root'@'localhost';"
CHECK="GRANT ALL PRIVILEGES ON \*\.\* TO [\'\`]root[\'\`]@[\'\`]localhost[\'\`] IDENTIFIED VIA unix_socket WITH GRANT OPTION"
QUERY="GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED VIA unix_socket WITH GRANT OPTION; FLUSH PRIVILEGES;"

if [ -d /chroot/admin ]; then

	if ! (chroot /chroot/admin mysql --defaults-file=/etc/mysql/debian.cnf -e "${CHECKQ}" | grep -q "$CHECK"); then
		echo "Upgrading mysql root user in admin chroot"
		chroot /chroot/admin mysql --defaults-file=/etc/mysql/debian.cnf -e "${QUERY}"
	else
		echo "OK: admin chroot"
	fi
fi

if [ -d /chroot/mysqld ]; then

	if ! (chroot /chroot/mysqld mysql --defaults-file=/etc/mysql/debian.cnf -qN -e "${CHECKQ}" | grep -q "$CHECK"); then
		echo "Upgrading mysql root user in mysqld chroot"
		chroot /chroot/mysqld mysql --defaults-file=/etc/mysql/debian.cnf -e "${QUERY}"
	else
		echo "OK: mysqld chroot"
	fi

elif [ -e "/run/mysqld/mysqld.sock" ]; then

	if ! (mysql --defaults-file=/etc/mysql/debian.cnf -qN -e "${CHECKQ}" | grep -q "$CHECK" ); then
		echo "Upgrading mysql root user in root"
		mysql --defaults-file=/etc/mysql/debian.cnf -e "${QUERY}"
	else
		echo "OK: root"
	fi

fi

if [ -d /chroot/altmysqld ]; then

	if ! (chroot /chroot/altmysqld mysql --defaults-file=/etc/mysql/debian.cnf -qN -e "${CHECKQ}" | grep -q "$CHECK"); then
		echo "Upgrading mysql root user in altmysqld chroot"
		chroot /chroot/altmysqld mysql --defaults-file=/etc/mysql/debian.cnf -e "${QUERY}"
	else
		echo "OK: mysqld chroot"
	fi

fi
