Bug #30261 "mysqld --help" no longer possible for root
Submitted: 6 Aug 2007 22:26 Modified: 13 Mar 2009 20:13
Reporter: Hartmut Holzgraefe Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: General Severity:S3 (Non-critical)
Version:5.1.18 and higher OS:Any
Assigned to: Chad MILLER
Tags: usability
Triage: Triaged: D4 (Minor) / R2 (Low) / E3 (Medium)

[6 Aug 2007 22:26] Hartmut Holzgraefe
Description:
since MySQL 5.1.18 it is no longer possible to get mysqld help output as root:

# mysql-5.1.18/libexec/mysqld --help

070807  0:24:16 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!

070807  0:24:16 [ERROR] Aborting

070807  0:24:16 [Note] mysql-5.1.18/libexec/mysqld: Shutdown complete

How to repeat:
try "mysql --help" as root
[7 Aug 2007 12:02] Sergei Golubchik
This is actually what you want. To print a complete help, mysqld needs to load plugins first (to read their command-line options), and you don't want to run plugin code as root.
[4 Mar 2008 10:52] Hartmut Holzgraefe
I expect binaries to *always* produce help output when being asked for help.
If loading plugins at that stage is a problem (which i tend to agree to)
then the binary should exclude that loading step and the help output related
to those plugins, noting in the help output that parts of it are missing due
to the fact that it is running as root.

Just producing rather obscure error messages (also referring to documentation without giving an actual URL at least) is a usability nightmare IMHO.

So i might accept a "to be fixed later" maybe, but definitely not a "Won't fix"
[17 Mar 2008 19:25] Omer Barnir
workaround: run mysqld --help as a different user (not root)
[2 Oct 2008 14:33] Konstantin Osipov
This is a regression! It has a bunch of duplicates.
Please re-triage.
BTW, for some reason each duplicate has a different lead?
[3 Dec 2008 15:29] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/60502

2725 Chad MILLER	2008-12-03
      Bug#30261: "mysqld --help" no longer possible for root
      
      Asking for the program's parameters and defaults now must execute 
      plugin code, which we don't trust to be run as root.
      
      So, now if the server is going to print stuff and exit, first become
      another user.
[3 Dec 2008 20:51] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/60548

2725 Chad MILLER	2008-12-03
      Bug#30261: "mysqld --help" no longer possible for root
      
      Previoiusly, we quit before printing help if there was an error, and
      running as root is an error.
      
      Now, print help if we were asked to, but explicitly avoid plugin code
      if we are also running as root.  Also, emit a warning about avoiding it.
[20 Jan 2009 16:13] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/63614

2725 Chad MILLER	2009-01-20
      Bug#30261: "mysqld --help" no longer possible for root
      
      The check for root-ness would signal an error.  Errors would make the
      server exit before usage (help) information was printed.
      
      Now, test for whether we want help regardless of whether we're going
      to exit with an error.
[10 Feb 2009 14:45] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/65756

2725 Chad MILLER	2009-02-10
      Bug#30261: "mysqld --help" no longer possible for root
      
      The check for root-ness would signal an error.  Errors would make the
      server exit before usage (help) information was printed.
      
      Now, test for whether we want help regardless of whether we're going
      to exit with an error.  If plugins are not initialized by the time we 
      print usage information, inform the user that some parameters are 
      missing.
[12 Feb 2009 4:53] Chad MILLER
Queued to 5.1- and 6.0-bugteam trees.
[14 Feb 2009 13:01] Bugs System
Pushed into 6.0.10-alpha (revid:matthias.leich@sun.com-20090212211028-y72faag15q3z3szy) (version source revid:matthias.leich@sun.com-20090212211028-y72faag15q3z3szy) (merge vers: 6.0.10-alpha) (pib:6)
[27 Feb 2009 20:39] Paul Dubois
Noted in 6.0.10 changelog.

mysqld --help did not work as root.

Setting report to NDI pending push into 5.1.x.
[13 Mar 2009 19:06] Bugs System
Pushed into 5.1.33 (revid:joro@sun.com-20090313111355-7bsi1hgkvrg8pdds) (version source revid:vvaintroub@mysql.com-20090218093153-sjzxf01i4ezte0xp) (merge vers: 5.1.33) (pib:6)
[13 Mar 2009 20:13] Paul Dubois
Noted in 5.1.33 changelog.
[9 May 2009 16:45] Bugs System
Pushed into 5.1.34-ndb-6.2.18 (revid:jonas@mysql.com-20090508185236-p9b3as7qyauybefl) (version source revid:jonas@mysql.com-20090508100057-30ote4xggi4nq14v) (merge vers: 5.1.33-ndb-6.2.18) (pib:6)
[9 May 2009 17:42] Bugs System
Pushed into 5.1.34-ndb-6.3.25 (revid:jonas@mysql.com-20090509063138-1u3q3v09wnn2txyt) (version source revid:jonas@mysql.com-20090508175813-s6yele2z3oh6o99z) (merge vers: 5.1.33-ndb-6.3.25) (pib:6)
[9 May 2009 18:39] Bugs System
Pushed into 5.1.34-ndb-7.0.6 (revid:jonas@mysql.com-20090509154927-im9a7g846c6u1hzc) (version source revid:jonas@mysql.com-20090509073226-09bljakh9eppogec) (merge vers: 5.1.33-ndb-7.0.6) (pib:6)