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: