Bug #67798 Replication doesn't work in MySQL 5.6.80-rc if started with skip-innodb
Submitted: 4 Dec 2012 0:00 Modified: 20 Dec 2012 10:35
Reporter: Daniel Nichter Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Replication Severity:S2 (Serious)
Version:5.6.8-rc OS:Any
Assigned to: CPU Architecture:Any

[4 Dec 2012 0:00] Daniel Nichter
Description:
If a 5.6.8-rc master and slave are started with

skip-innodb
default-storage-engine=myisam
default-tmp-storage-engine=myisam

replication does not work.  There are no warnings or errors anywhere (logs, SHOW SLAVE STATUS, etc.).  Neither DDL nor DML statements replicate.  Restart the same instances without those options and replication works.

I presume the root issue is skip-innodb, but I haven't completely isolated it to rule out default-storage-engine or default-tmp-storage-engine.

For the record (on both instances):

mysql> show variables like '%repo%';
+---------------------------+-----------+
| Variable_name             | Value     |
+---------------------------+-----------+
| master_info_repository    | FILE      |
| relay_log_info_repository | FILE      |

How to repeat:
1. Start a master with

skip-innodb
default-storage-engine=myisam
default-tmp-storage-engine=myisam

2. Start a slave to that master also witih

skip-innodb
default-storage-engine=myisam
default-tmp-storage-engine=myisam

3. CREATE DATABASE foo; -- on the master

foo will not replicate to the slave.
[5 Dec 2012 20:26] Sveta Smirnova
Thank you for the report.

Verified as described.
[7 Dec 2012 12:29] Erlend Dahl
Analysis is under way in the replication team.
[20 Dec 2012 10:35] Jon Stephens
Thank you for your bug report. This issue has been committed to our source repository of that product and will be incorporated into the next release.

If necessary, you can access the source repository and build the latest available version, including the bug fix. More information about accessing the source trees is available at

    http://dev.mysql.com/doc/en/installing-source.html
[20 Dec 2012 10:37] Jon Stephens
Fixed in 5.6+. Documented in the 5.6.10 and 5.7.1 changelogs as follows:

        When a slave was started using --skip-innodb and replication
        info file repositories (FILE being the default for both
        --relay-log-info-repository and --master-info-repository),
        replication was incorrectly stopped. However, if the slave is
        using file repositories and not currently migrating between info
        repositories, replication should be able to work without issues.
        Now the server ignores errors raised when trying to open table
        info repositories in such conditions.

        In addition, binary log initialization was not performed
        correctly when starting the slave with both --skip-innodb, which
        caused the --log-bin option, if used, to be ignored.

Closed.