Details
Description
From my original bug report http://bugs.mysql.com/73750
Description:
If no datadir is set via option files or command line the log location defaults to:
[...]
|
if (!defined($logdir))
|
{
|
$logdir= "/usr/share/mysql" if (-d "/usr/share/mysql" && -w "/usr/share/mysql");
|
}
|
[...]
|
(or whatever the "share" path is for the current installation) in the init_log() function inside the script
This is a very unexpected location, and AFAICT in violation with the linux file system standard (and Unix practice in general) as /usr should be considered read-only for everything but software installation actions (so that a read-only /usr file system can be shared between multiple installations)
How to repeat:
Check source of installed mysqld_multi script or just use mysqld_multi with --no-defaults or the exampe my.cnf given in the script itself, then see that you have a "mysqld_multi.log" file in the same directory that the error message translations, charset information, and files like mysql_system_tables.sql are in
(usually /usr/share/mysql or /usr/local/mysql/share ...) ... at least if the user executing mysqld_multi had sufficient permissions to write there ...
Suggested fix:
The default log location should be the default datadir, not pkgdatadir ...