The fix for bug 28544 moved our package data from ./share/mysql
to ./share. mysqld_safe had the old directory hard-coded. The
fix is to use the @pkgdatadir@ and @prefix@ values, to adapt to
different ways of building the package.
Our web server has been restructured several times, and references
to it in our source code has stayed the same. This patch from Paul
DuBois updates all URLs to modern semantics.
Don't use syslog by default; user will have to request it explicitly with the --syslog option.
Use "sed -u" to get unbuffered output from sed, if it's supported.
Otherwise, don't use sed at all - don't strip the timestamp from mysqld messages.
Also, add new --syslog-tag=FOO option, which adds "-FOO" to the tag used when logging messages to syslog (i.e., mysqld-FOO or mysqld_safe-FOO)
Also, explicitly mention where log messages are going, so user can more easily find them.
Also, check if 'logger' is in the PATH, and log to the error log file if it can't be found.
Try find in order 'mysqld-nt', 'mysqld', 'mysqld-debug' and 'mysqld-max'
mysqld_safe.sh:
Don't try 'mysqld-max' before 'mysqld' if no server given, bug#17861
1) If my.cnf is found in datadir and basedir, give a warning and use the
one in basedir.
2) If my.cnf is found in datadir, use it, but give a warning.
3) No warning if my.cnf is in basedir.
to only look for the mysqld binary (and english error strings) and assume the
datadir from that. Then, if that datadir turns out to not exist, startup will
fail. This avoids the behavior where mysqld_safe would go off and run a totally
different binary because the data directory had been moved (even when --datadir
was specified on the command line). (Bug #7249)
Fix calls to my_print_defaults. Some how, --loose-verbose had been added before --no-defaults/defaults-file, which must be the first option.
NOTE: this may make some installations behave differently, if they depend on this broken behavior.
bug #5001, added conditional if to test if port set, then only kill the processes
for this port, not all processes (in the case of this bug where multiple servers
are killed.)
The change to the 'grep' to make sure mysqld_safe isn't killed was per Serg's
discovery that mysqld_safe would get killed.
In my testing, in killing one of the pids for a running server, the "if test ! -f $pid_file"
was the case that evaluated as true, so in order to test, I had to comment that block
out.
Output TIMESTAMP in 4.1 format for 4.1 tables (or for TIMESTAMP(19)) (portability fix)
Fixed that INTERVAL can handle big integers. (Bug #3498)
Fixed that hostname="" works identical as hostname="%" for table/column grants (Bug #3473)
if one is running many mysqlds through mysqld_multi, for example.
Without this option, on Linux one mysqld_safe process may kill
other mysqlds as well, if started using the same binary and path.