De vez en cuando recurro a este mecanismo de MySQL para cambiar la contraseña del administrador.
En las distribuciones que tengan activo apparmor es muy probable que no funcione (dependerá, como vamos a ver, de la configuración apparmor) dando el error (que encontraremos en /var/log/mysql/error.log):
[ERROR] /usr/sbin/mysqld: File '
/path_al_fichero/nuevopasswd.sql' not found (Errcode: 13)
(obviamente, estoy suponiendo que el fichero existe y tenemos permisos de lectura 😉 )
El error, como ya podéis imaginar, está provocado por apparmor y, para conseguir nuestro objetivo (ejecutar el fichero para cambiar la contraseña) debemos habilitar la ejecución del guión. Para ello:
- En el fichero /etc/apparmor.d/usr.sbin.mysqld añadimos la orden ‘/path_al_fichero/*.sql r, ‘ dentro de las opciones de MySQL
- Reiniciamos apparmor: /etc/init.d/apparmor reload
- Reiniciamos MySQL: /etc/init.d/mysql restart
¡Espero que os sea útil!
PD: La imagen no representa el fichero /etc/apparmor.d/usr.sbin.mysqld completo; donde están los ‘……’ hay otras opciones necesarias para que convivan apparmor y MySQL.