Bug #83134 SHOW VARIABLES does not show all available server variables set.
Submitted: 23 Sep 2016 21:10 Modified: 11 Feb 2017 14:28
Reporter: Agustín G Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Documentation Severity:S3 (Non-critical)
Version:5.7 OS:Any
Assigned to: CPU Architecture:Any
Tags: documentation

[23 Sep 2016 21:10] Agustín G
Description:
There are some variables shown in https://dev.mysql.com/doc/refman/5.7/en/server-options.html that are not visible via SHOW VARIABLES, only through mysqld --verbose --help (and viceversa).

It would be nice if this was explained better, to avoid confusions (difference between server options and server system variables, for instance).

How to repeat:
mysql> SHOW VARIABLES LIKE '%safe%';
+----------------------------------+-------+
| Variable_name                    | Value |
+----------------------------------+-------+
| innodb_locks_unsafe_for_binlog   | OFF   |
| log_statements_unsafe_for_binlog | ON    |
| sql_safe_updates                 | OFF   |
+----------------------------------+-------+
3 rows in set (0.01 sec)

shell> mysqld --verbose --help | grep safe
[..trimmed output...]
innodb-locks-unsafe-for-binlog                               FALSE
log-statements-unsafe-for-binlog                             TRUE
safe-user-create                                             FALSE

Suggested fix:
Note this in https://dev.mysql.com/doc/refman/5.7/en/server-options.html.

Perhaps, after:

'''
To see the full list, use this command:

mysqld --verbose --help
'''

add a note that mentions that some of these variables will not be shown in the SHOW VARIABLES output, due to them not being server system variables, but server options.
[26 Sep 2016 9:42] MySQL Verification Team
Hello Agustín,

Thank you for the feedback.

Thanks,
Umesh
[11 Feb 2017 14:28] Paul DuBois
Posted by developer:
 
Added immediately after mysqld --verbose --help command:

Some of the items in the list are actually system variables that can
be set at server startup. These can be displayed at runtime using the
SHOW VARIABLES statement. Some items displayed by the preceding
mysqld command do not appear in SHOW VARIABLES output; this is
because they are options only and not system variables.