-
Notifications
You must be signed in to change notification settings - Fork 15
TKLBAM fails if root MySQL/MariaDB user has a password set. #1534
Description
TKLBAM depends on root access to MySQL/MariaDB to back up DBs.
In v14.x and previous, TKLBAM leveraged the Debian provided specific user account (debian-sys-maint) for root like access by the system.
However, as of v15.0 (Debian Stretch/9) MySQL/MariaDB moved to using unix_socket authentication for the root mysql user. So the debian-sys-maint mysql user was no longer required.
However, a number of users set a root mysql password. Unless there is a root-like account that TKLBAM can access, that locks TKLBAM out.
TKLBAM appears to try to work around that by launching a new unauthenticated mysqld process as root (via mysqld_safe --skip-grant-tables). However, that causes issues as it interferes with the existing running service (FWIW, it appears to crash the default MySQL/MariaDB service, but it leaves a zombie mysqld process running which interferes with the root process started by TKLBAM).
The best "fix" IMO is to reinstate the unix_socket authentication method for the root mysql user.
But perhaps we can work out some other method (e.g. TKLBAM could stop the MySQL/MariaDB service and temporarily start an unauthenticated process just to dump the DBs)?