No Debian, você tem em /etc/mysql/debian.cnf
a senha para o usuário debian-sys-maint .
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = xxxxxxxxxxxxxxxx
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = xxxxxxxxxxxxxxxx
socket = /var/run/mysqld/mysqld.sock
basedir = /usr
Usando o usuário e a senha na seção [client], você pode alterar a senha do root após a instalação do MySQL.
Você pode fazer então:
PASS='sudo awk '/password/ { print $3;exit }' /etc/mysql/debian.cnf'
echo "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');" \
| mysql -u debian-sys-maint -p$PASS