occasionally.
mysql_multi can call mysqld_safe. In doing this it's not changing the
current working directory. This may cause confusion in the case where
mysqld_multi is handling instances of servers of different versions
and the current working directory is the installation directory of one
of these servers.
Fixed by enhancing the meaning of basedir in [mysqldN] sections of
mysqld_multi. If specified, mysqld_multi will change the current
working directory to the basedir directory before starting the server
in mysqld_multi ... start ... and then change it back to what it was.
Bug#32136: mysqld_multi --defaults-file not respected while using \
--mysqld=mysqld_safe
Revert change that adds "--no-defaults" to mysqld_multi.
This closes Bug#43508 and re-opens Bug#32136.
--mysqld=mysqld_safe
The server run didn't know the correct section to read in a
configuration file, and would read from "[mysqld]" even though
mysqld_multi had already read the defaults and made them into explicit
parameters.
Worse, the "defaults-file" parameter says that it means "Read only
this configuration file, do not read the standard system-wide and
user-specific files", which should apply not only to mysql-multi, but
to the server also.
So, now if "defaults-file" is given, put "no-defaults" before all the
explicit parameters we read from the defaults-file and feed to the
mysqld or mysqld_safe.
Better Windows support in the scripts directory
mysql_config.pl.in, mysql_install_db.pl.in:
New Perl version of Unix shell script, mainly for Windows
Many files in scripts directory:
Use default Perl location "#!/usr/bin/perl" instead of the build host path
Recognize the --no-defaults, --defaults-file and --defaults-extra-file
options. Treat old --config-file argument as if --defaults-extra-file
had been specified instead.
Plus a few other defaults-related cleanups.
- Made some of the warnings under --verbose only
- Added possibility to add mysqladmin= under groups [mysqldN]
mysqladmin=... is no longer mandatory under [mysqld_multi]
- Made 'start', 'stop' and 'report' commands truly case-insensitive
- Some other common places code merge and cleanup
binary for mysqld_multi was not found. This is because it is
possible to define one under each mysqldN group separately.
Bailing out if mysqld binary is not found at all.
Added option --silent to turn off warnings.
- Changed reading of config file so that one can use a separate config
file for [mysqld_multi] also. In other words --config-file=file will
read group [mysqld_multi] from this file, earlier it wouldn't have.
if doesn't exists or is not writable, then /var/log/mysqld_multi.log, if does not exists
or is not writable, then /tmp/mysqld_multi.log, but only in case the file does not yet
exists in /tmp. Otherwise log will be disabled, unless user explicitely sets it with an
option.