Restaurar password de root en MySQL
Leo vía http://code.openark.org/blog/?p=102 un par de formas de restaurar la contraseña de MySQL. Normalmente siempre se suele usar con la opción –skip-grant-tables y se recomienda usar --init-file con la instrucción que cambie la contraeña.
En debian tenemos otra forma de hacerlo que no requiere reinicio. Por defecto, en la instalación de MySQL se añade el usuario debian-sys-maint para la reparación de las tablas en background en el inicio. La contraseña varía de instalación en instalación y podemos verla en el fichero /etc/mysql/debian.cnf.
[client]
host = localhost
user = debian-sys-maint
password = xxxxxxxxxxxxxxxxxx
socket = /var/run/mysqld/mysqld.sock
Para acceder de forma rápida, podemos escribir en la consola:
mysql -u debian-sys-maint -p$(grep -m 1 "^password" /etc/mysql/debian.cnf | cut -d' ' -f3)
Y ya puestos, meterlo en nuestro .bashrc como un alias:
alias mysql-debian="mysql -u debian-sys-maint -p$(grep -m 1 "^password" /etc/mysql/debian.cnf | cut -d' ' -f3)"
Como contrapartida, el fichero debian.cnf solo puede leerlo el root por lo que no sería mala idea tener una copia o modificar el alias para que se ejecute con sudo.