Bug #39868 my.cnf is being parsed wrong for report-host
Submitted: 6 Oct 2008 3:02 Modified: 9 Oct 2008 15:19
Reporter: Baron Schwartz (Basic Quality Contributor)
Status: Not a Bug
Category:Server Severity:S3 (Non-critical)
Version:5.1.26, 5.1.28 OS:Any
Assigned to: Target Version:
Tags: qc
Triage: Triaged: D2 (Serious)

[6 Oct 2008 3:02] Baron Schwartz
Description:
report-host appears to gobble whitespace after it in my.cnf.

How to repeat:
The following in my.cnf

report-host

#*** MyISAM Specific options

# Size of the Key Buffer, used to cache index blocks for MyISAM tables.
# Do not set it larger than 30% of your available memory, as some memory
# is also required by the OS to cache rows. Even if you're not using
# MyISAM tables, you should still set it to 8-64M as it will also be
# used for internal temporary disk tables.
key_buffer_size = 1024M

Results in the following in SHOW VARIABLES:

| report_host                     | --key_buffer_size=1024M                           |
[6 Oct 2008 5:37] Valeriy Kravchuk
Thank you for a problem report. Verified with 5.1.28 also.
[9 Oct 2008 13:03] Sergei Golubchik
According to the manual, the syntax is "--report-host=host_name".
That is, the value is not optional - and if you omit it, the next option will be treated
as a value. Same as in

  mysqld --report-host --key_buffer_size=1024M

or even

  grep --file --before-context=5
[9 Oct 2008 14:35] Baron Schwartz
is it just me, or are there other options that require the value to be on the same line? 
I really thought I'd seen behavior before where it would not gobble the next "value" 20
lines further on in the file, but would complain instead that the value is missing.
[9 Oct 2008 15:07] Sergei Golubchik
I don't think there're options like that. Because when my.cnf is read it's converted
(literally, not "similarly to", exactly, is converted) to the command line - all options
get "--" prepended, comments are removed, everything is put on the same line. Then the
command line is parsed. For the mysql there's no difference whether an option is
specified in the cnf file or on the command line. The server doesn't even know the origin
of every option when it parses the generated command line.
[9 Oct 2008 15:19] Baron Schwartz
I see, thanks!