Bug #86224 mysqlrplsync errors out because slave is using --super-read-only option
Submitted: 8 May 2017 18:24 Modified: 24 Aug 2017 12:32
Reporter: Richard Morris Email Updates:
Status: Closed Impact on me:
Category:MySQL Server: Replication Severity:S1 (Critical)
Version:1.6.5, 5.7.18 OS:CentOS (7.3.1611)
Assigned to: CPU Architecture:Any

[8 May 2017 18:24] Richard Morris
We recently upgraded a master and slave MySQL server from 5.7.17 to 5.7.18 (community server).  The upgrade itself went fine.  

We have a nightly script that runs mysqlrplsync to make sure that the master and slave servers are in sync. After the upgrade mysqlrplsync now ends with this message:

# Discovering slaves for master at xxx:3306
# Discovering slave at yyy:33000
# Found slave: yyy:33000
# Checking users permission to perform consistency check.
# GTID differences between Master and Slaves:
# - Slave 'yyy@33000' is up-to-date.
# Checking data consistency.
# Using Master 'xxx@3306' as base server for comparison.
# Checking 'phpmyadmin' database...
# - Checking 'pma__bookmark' table data...
#   Sync point GTID: 95a772be-....-....-....-............:6985
#   Setting data synchronization point for slaves.
ERROR: Query failed. 1290 (HY000): The MySQL server is running with the --super-read-only option so it cannot execute this statement

When this occurs, the Slave_SQL_Running on the slave server stops running and needs to be manually started again.

The slave server does have the super-read-only option set to true.  When running MySQL 5.7.17 this wasn't an issue.

Until this issue is resolved it doesn't appear that we can use this tool to check the replication status of our servers.

How to repeat:
This is how we run the check:

/bin/mysqlrplsync --master=user:password@xxx --discover-slaves-login=user:password --checksum-timeout=15

Suggested fix:
Not have mysqlrplsync error out due to the super-read-only option being set to true.
[10 Jul 2017 10:15] Bogdan Kecman
Thanks for your submission, verified as reported, fix should be available soon.

all best
[11 Jul 2017 6:10] Umesh Shastry
## Changing category to reflect internal one
[24 Aug 2017 12:32] Margaret Fisher
Posted by developer:
Changelog entry added for MySQL 8.0.4 and 5.7.20:

        MySQL internal administration commands that update
        replication-specific repository tables, for example during a
        replication synchronization check using the
        mysqlrplsync utility, can now bypass read
        locks. This enables such commands to execute regardless of the
        settings for the read_only and super_read_only system
        variables and the autocommit mode.