Bug #42928 binlog-format setting prevents server from start if binary logging is disabled
Submitted: 17 Feb 2009 11:02 Modified: 12 Nov 2009 12:23
Reporter: Valeriy Kravchuk Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Replication Severity:S2 (Serious)
Version:5.1.30, 5.1.31 OS:Any
Assigned to: Luis Soares CPU Architecture:Any
Triage: Triaged: D3 (Medium)

[17 Feb 2009 11:02] Valeriy Kravchuk
Description:
If one sets binlog-format but does NOT enable binary log, server does not start. The following messages appears in the error log:

090217 12:47:14 [ERROR] You need to use --log-bin to make --binlog-format work.
090217 12:47:14 [ERROR] Aborting

090217 12:47:14 [Note] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: Shutdown complete

This happens even on read-only slave. Some users may think that they should set binlog-format on slave to the same value as on master, and if they do not have binary logging eneble their slave will refuse to start.

How to repeat:
Add --binlog-format=MIXED to mysqld options or my.cnf/my.ini and try to start the server.

Suggested fix:
Ignore this setting if binary log is enabled and write a warning to the error log about it. Do NOT prevent server start.
[4 May 2009 10:38] 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/73294

2849 Luis Soares	2009-05-04
      BUG#42928: binlog-format setting prevents server from start if binary
      logging is disabled
      
      If one sets binlog-format but does NOT enable binary log, server
      refuses to start up. The following messages appears in the error log:
      
      090217 12:47:14 [ERROR] You need to use --log-bin to make
      --binlog-format work.  
      090217 12:47:14 [ERROR] Aborting
      
      This patch addresses this by making the server not to bail out if the
      binlog-format is set without the log-bin option. Additionally, the
      specified binlog-format is stored, in the global system variable
      "binlog_format", and a warning is printed instead of an error.
[13 May 2009 13:14] Luis Soares
Pushed to 6.0-rpl.
[16 Jun 2009 14:57] Bugs System
Pushed into 5.4.4-alpha (revid:zhenxing.he@sun.com-20090612081554-kmu72j3wenjn82a8) (version source revid:zhenxing.he@sun.com-20090612034751-dqd4y0bv0iln1yaj) (merge vers: 5.4.4-alpha) (pib:7)
[17 Jun 2009 19:27] Bugs System
Pushed into 5.4.4-alpha (revid:alik@sun.com-20090616183122-chjzbaa30qopdra9) (version source revid:zhenxing.he@sun.com-20090612034751-dqd4y0bv0iln1yaj) (merge vers: 5.4.4-alpha) (pib:11)
[25 Jun 2009 9:31] Jon Stephens
Documented bugfix in the 5.4.4 changelog as follows:

      When the logging format was set without binary logging being enabled,
      the server failed to start. Now, the server starts, binlog_format is set,
      and a warning is logged instead of an error.

Also noted behaviour change in 5.4 Manual, old behaviour as known issue in 5.1/6.0 versions.
[12 Aug 2009 22:05] Paul Dubois
Noted in 5.4.2 changelog because next 5.4 version will be 5.4.2 and not 5.4.4.
[14 Aug 2009 22:55] Paul Dubois
Ignore previous comment about 5.4.2.
[29 Sep 2009 13:41] 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/85011

3113 Luis Soares	2009-09-29
      BUG#42928: binlog-format setting prevents server from start if binary
      logging is disabled
      
      NOTE: this is the backport to next-mr.
            
      If one sets binlog-format but does NOT enable binary log, server
      refuses to start up. The following messages appears in the error log:
            
      090217 12:47:14 [ERROR] You need to use --log-bin to make
      --binlog-format work.  
      090217 12:47:14 [ERROR] Aborting
            
      This patch addresses this by making the server not to bail out if the
      binlog-format is set without the log-bin option. Additionally, the
      specified binlog-format is stored, in the global system variable
      "binlog_format", and a warning is printed instead of an error.
[29 Sep 2009 14: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/85031

3118 Luis Soares	2009-09-29
      BUG#42928: binlog-format setting prevents server from start if binary
      logging is disabled
            
      NOTE: this is the backport to next-mr.
                  
      If one sets binlog-format but does NOT enable binary log, server
      refuses to start up. The following messages appears in the error log:
                  
      090217 12:47:14 [ERROR] You need to use --log-bin to make
      --binlog-format work.  
      090217 12:47:14 [ERROR] Aborting
                  
      This patch addresses this by making the server not to bail out if the
      binlog-format is set without the log-bin option. Additionally, the
      specified binlog-format is stored, in the global system variable
      "binlog_format", and a warning is printed instead of an error.
[27 Oct 2009 9:49] Bugs System
Pushed into 6.0.14-alpha (revid:alik@sun.com-20091027094604-9p7kplu1vd2cvcju) (version source revid:zhenxing.he@sun.com-20091026140226-uhnqejkyqx1aeilc) (merge vers: 6.0.14-alpha) (pib:13)
[27 Oct 2009 22:08] Jon Stephens
Now documented for 6.0.14; closed.
[12 Nov 2009 8:21] Bugs System
Pushed into 5.5.0-beta (revid:alik@sun.com-20091110093229-0bh5hix780cyeicl) (version source revid:alik@sun.com-20091027095744-rf45u3x3q5d1f5y0) (merge vers: 5.5.0-beta) (pib:13)
[12 Nov 2009 12:23] Jon Stephens
Also documented in the 5.5.0 changelog; closed.