automysqlbackup: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Enviado por apermuy el 28/03/2021

automysqlbackup: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Recientemente he instalado la herramienta automysqlbackup en un servidor corriendo Ubuntu 20.04 para un nuevo proyecto Drupal en Codery. Al ejecutarlo devuelve:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

El origen del problema reside en que el paquete automysqlbackup requiere el ficherro /etc/mysql/debian.cnf , que por defecto no se crea en la instalación (y debes crear de forma manual para conseguir ejecutarlo sin errores), y, en el momento de la ejecución de automysqlbackup , el script espera "recibir" las credenciales desde el citado fichero. 

La(una) solución pasa por eliminar en el fichero /etc/default/automysqlbackup la referencia al fichero /etc/mysql/debian.cnf , y a continuación crear un fichero .my.cnf en el directorio $HOME del usuario que ejecutará el script con las credenciales de acceso a MySQL del usuario que realizará el backup.

[client]
user=dba
password=somestrongpassword

A nivel de seguridad es obvio que no es solución más elegante, pues cualquier usuario con permisos de lectura sobre $HOME podría acceder a las credenciales.

La segunda alternativa tampoco me acaba de convencer: en una instalación por defecto del paquete automysqlbackup los permisos del fichero son 644 y cualquier usuario tendría acceso a las credenciales. 

En resumen, puedes descargar la versión más reciente de automysqlbackup, de ¡2011! y ejecutarla en el entorno del usuario. 

Cito estas dos alternativas pues la incluida en el fichero  /etc/default/automysqlbackup relativa a las opciones de configuración de la variables USER y PASSWORD no han funcionado.

Si has llegado a este post quizá te interese: