Bug #83386 --no-defaults option for mysqldump not documetned
Submitted: 14 Oct 2016 12:34 Modified: 12 Nov 2018 14:08
Reporter: Peter Laursen (Basic Quality Contributor) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: mysqlpump Command-line Client Severity:S3 (Non-critical)
Version:any probably OS:Any
Assigned to: CPU Architecture:Any

[14 Oct 2016 12:34] Peter Laursen
Description:
It seesm that the --no-defaults option for mysqldump cannot appear in any order with order options. 

I don't think this is documented - not here at least:
http://dev.mysql.com/doc/refman/5.7/en/mysqldump.html#option_mysqldump_no-defaults

(I met this issue when reporting
https://bugs.mysql.com/bug.php?id=83334)

How to repeat:
Have an invalid option in my.ini/my/cnf like 

[clients]
no-beep

Next invoke mysqldump like this 

>mysqldump --version --no-defaults -u<username> -p

It complains that no-beep is not a vaild option.  But it shound not read the option at all with --no-defaults specified. 

Suggested fix:
Update documentation or better allow any order of options.
[14 Oct 2016 13:16] MySQL Verification Team
Thank you for the bug report. Please try as first option as mentioned in the amnual:

--no-defaults
Do not read any option files. This must be the first option on the command line if it is used.

Instead of:

>mysqldump --version --no-defaults -u<username> -p
[14 Oct 2016 13:40] Peter Laursen
This page (that is about mysqldump options)
http://dev.mysql.com/doc/refman/5.7/en/mysqldump.html#option_mysqldump_no-defaults

.. does not say anything like this as far as I can see.  

Can you provide a link please where you found the passage you quote?
[14 Oct 2016 17:27] MySQL Verification Team
I have read here from here:

http://dev.mysql.com/doc/refman/5.7/en/mysqld-safe.html#option_mysqld_safe_no-defaults

and from --help option:

C:\dbs>5.7\bin\mysqldump --help | grep -C 2 no-defaults
The following options may be given as the first argument:
--print-defaults        Print the program argument list and exit.
--no-defaults           Don't read default options from any option file,
                        except for login file.
--defaults-file=#       Only read default options from the given file #.

C:\dbs>
[15 Oct 2016 12:14] Peter Laursen
I have replied but status was still "Need Feedback".

I asked for links when you are providing quotes from documentation.
[15 Oct 2016 14:54] MySQL Verification Team
Here:

http://dev.mysql.com/doc/refman/5.7/en/option-file-options.html

5.2.7 Command-Line Options that Affect Option-File Handling

".....and not in an option file. To work properly, each of these options must be given before other options, with these exceptions:

<CUT>

 --no-defaults

Do not read any option files. If program startup fails due to reading unknown options from an option file, --no-defaults can be used to prevent them from being read.

The exception is that client programs read the .mylogin.cnf login path file, if it exists, even when --no-defaults is used. This permits passwords to be specified in a safer way than on the command line even if --no-defaults is present. (.mylogin.cnf is created by the mysql_config_editor utility. See Section 5.6.6, “mysql_config_editor — MySQL Configuration Utility”.)"

Also you can see mysqldump --help.
[15 Oct 2016 15:15] MySQL Verification Team
The first quote link I commented before:

http://dev.mysql.com/doc/refman/5.7/en/mysqld-safe.html#option_mysqld_safe_no-defaults
[15 Oct 2016 15:23] MySQL Verification Team
Actually in the specific section for use of the tool (the link you mentioned) doesn't has the comment that --no-defaults must be the first argument. So verifying as documentation bug.
[15 Oct 2016 15:32] Peter Laursen
Yes, exactly. The docs page for mysqld_safe is not a place you'd expect to find this information for mysqldump! :)
[12 Nov 2018 14:08] Paul DuBois
Posted by developer:
 
Instead of duplicating the information available at:
https://dev.mysql.com/doc/refman/5.7/en/option-file-options.html
(Section 4.2.7, “Command-Line Options that Affect Option-File Handling”)

I updated all the --no-defaults, --print-defaults, etc. option descriptions with:

For additional information about this and other option-file options, see Section 4.2.7, “Command-Line Options that Affect Option-File Handling”.