Bug #100808 skip-log-bin description is not available in 5.7 and 5.6 documentation
Submitted: 11 Sep 2020 7:25 Modified: 9 Oct 2020 20:18
Reporter: Chelluru Vidyadhar Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Documentation Severity:S3 (Non-critical)
Version:5.6.x and 5.7.x OS:Any
Assigned to: CPU Architecture:Any

[11 Sep 2020 7:25] Chelluru Vidyadhar
Description:
In MySQL 8.0 documentation, we can see that the below statement mentioned in the related to disabling binary logging using --skip-log-bin or --disable-log-bin options. 

"To disable binary logging, you can specify the --skip-log-bin or --disable-log-bin option at startup. If either of these options is specified and --log-bin is also specified, the option specified later takes precedence. "

"The --log-slave-updates and --slave-preserve-commit-order options require binary logging. If you disable binary logging, either omit these options, or specify --log-slave-updates=OFF and --skip-slave-preserve-commit-order (available 5.7 and above). MySQL disables these options by default when --skip-log-bin or --disable-log-bin is specified. If you specify --log-slave-updates or --slave-preserve-commit-order together with --skip-log-bin or --disable-log-bin, a warning or error message is issued. "

https://dev.mysql.com/doc/refman/8.0/en/binary-log.html

"If the --skip-log-bin or --disable-log-bin option is specified at startup, binary logging is disabled, with the log_bin system variable set to OFF. If either of these options is specified and --log-bin is also specified, the option specified later takes precedence. "

https://dev.mysql.com/doc/refman/8.0/en/replication-options-binary-log.html#sysvar_log_bin

>> However the same information related to --skip-log-bin and --disable-log-bin not provided any where in 5.7/5.6 documentation. These options are supported in both 5.6 and 5.7.

How to repeat:
We can start any 5.6 or 5.7 (GA) version using --skip-log-bin or --disable-log-bin option to disable binary logging

Suggested fix:
Please consider to update the documentation (5.6 and 5.7) accordingly
[15 Sep 2020 5:25] MySQL Verification Team
Hello Chelluru,

Thank you for the report and feedback.

- 8.0.21
 bin/mysqld --no-defaults --datadir=$PWD/100808/ --lc-messages-dir=$PWD/share --verbose --help |grep -i 'skip-log-bin\|disable-log-bin'
                      --skip-log-bin or --disable-log-bin option.

- 5.7.31
bin/mysqld --no-defaults --datadir=$PWD/100808/ --lc-messages-dir=$PWD/share --verbose --help |grep -i 'skip-log-bin\|disable-log-bin'

But mysqld not complaining *unknown option* when included with 5.7.

regards,
Umesh
[15 Sep 2020 7:03] Chelluru Vidyadhar
Thank you for your response. This option is available from long time but not documented anywhere properly. Here the best option is to update the documentation of earlier versions for reference. Giving error with this option on earlier versions now might not make it backward compatible to earlier minor versions.
[9 Oct 2020 20:18] Margaret Fisher
Posted by developer:
 
Thanks for your feedback. The option descriptions are different because binary logging defaults to on in MySQL 8.0, so it needs to be specifically skipped if you do not want it. That's why the skip options are in that location and not in 5.7 and 5.6, where binary logging defaults to off and needs to be specified. The scenario for the skip options in 5.7 and 5.6 is when you want to keep the --log-bin basename setting, so that is useful to know, and I've added it in the option descriptions:

If you want to disable binary logging for a server start but keep the --log-bin setting intact, you can specify the --skip-log-bin or --disable-log-bin option at startup. Specify the option after the --log-bin option, so that it takes precedence. When binary logging is disabled, the log_bin system variable is set to OFF.

- Thanks again for helping us improve the documentation!