Bug #63355 --only-innodb prevents output of slave binlog position
Submitted: 21 Nov 2011 11:38 Modified: 25 Jan 2013 18:54
Reporter: Sven Schliesing Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Enterprise Backup Severity:S2 (Serious)
Version:3.6.0 OS:Solaris
Assigned to: CPU Architecture:Any
Tags: binlog, only-innodb, replication, slave binlog position, slave-info

[21 Nov 2011 11:38] Sven Schliesing
Description:
I'm creating MySQL-Backups with the option "--only-innodb". This prevents "--slave-info" to output the slave binlog position

How to repeat:
/opt/mysql/enterprise/backup/bin/mysqlbackup --user=root --password=xxx --backup-dir=/data/mysql-backup/data/work --slave-info --only-innodb backup-and-apply-log

Suggested fix:
Allow --slave-info to work when --only-innodb is used.
[21 Nov 2011 17:44] Sveta Smirnova
Thank you for the report.

Verified as described.
[9 Dec 2011 7:11] Sven Schliesing
Is there a possible workaround? Like only outputting the slave-info on a second run?
[29 Dec 2011 20:07] Hema Sridharan
The --only-innodb  option behaves like erstwhile ibbackup product of IHB.
There is no interaction with MySQL server.
The binary log information requires interaction with the MySQL Server.
these options are incompatible.
[3 Jan 2012 9:24] Sven Schliesing
I beg to differ. There is indeed interaction with the MySQL Server when exporting with "--only-innodb". The general_log shows this:
------------------------------------------------------------------------------------------------
120103 10:17:22  2204 Connect   root@localhost on 
                 2204 Query     USE mysql
                 2204 Query     CREATE TABLE IF NOT EXISTS mysql.backup_progress( `backup_id` BIGINT NOT NULL, `tool_name` VARCHAR(4096) NOT NULL, `error_code` INT NOT NULL, `error_message` VARCHAR(4096) NOT NULL, `current_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `current_state` VARCHAR(200) NOT NULL ) ENGINE=CSV DEFAULT CHARSET=utf8 COLLATE=utf8_bin
                 2204 Prepare   INSERT INTO mysql.backup_progress( backup_id, tool_name, error_code, error_message, current_state ) VALUES (?,?,?,?,?)
                 2204 Query     SHOW VARIABLES LIKE 'datadir'
                 2204 Query     SHOW VARIABLES LIKE 'innodb_data_home_dir'
                 2204 Query     SHOW VARIABLES LIKE 'innodb_data_file_path'
                 2204 Query     SHOW VARIABLES LIKE 'innodb_log_group_home_dir'
                 2204 Query     SHOW VARIABLES LIKE 'innodb_log_files_in_group'
                 2204 Query     SHOW VARIABLES LIKE 'innodb_log_file_size'
                 2205 Connect   root@localhost on 
                 2205 Quit      
                 2204 Execute   INSERT INTO mysql.backup_progress( backup_id, tool_name, error_code, error_message, current_state ) VALUES (13255822421936251,'mysqlbackup',0,'NO_ERROR','Started mysqlbackup.')
120103 10:17:23  2204 Execute   INSERT INTO mysql.backup_progress( backup_id, tool_name, error_code, error_message, current_state ) VALUES (13255822421936251,'mysqlbackup',0,'NO_ERROR','mysqlbackup applying log.')
                 2204 Query     SET SESSION SQL_MODE=''
                 2204 Query     USE mysql
                 2204 Query     CREATE TABLE IF NOT EXISTS mysql.backup_history( `backup_id` BIGINT NOT NULL, `tool_name` VARCHAR(4096) NOT NULL, `start_time` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00', `end_time` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00', `binlog_pos` BIGINT NOT NULL, `binlog_file` VARCHAR(255) NOT NULL, `compression_level` INT NOT NULL, `engines` VARCHAR(100) NOT NULL, `innodb_data_file_path` VARCHAR(2048) NOT NULL, `innodb_file_format` VARCHAR(100) NOT NULL, `start_lsn` BIGINT NOT NULL, `end_lsn` BIGINT NOT NULL, `incremental_base_lsn` BIGINT NOT NULL, `backup_type` VARCHAR(50) NOT NULL, `backup_format` VARCHAR(50) NOT NULL, `mysql_data_dir` VARCHAR(2048) NOT NULL, `innodb_data_home_dir` VARCHAR(2048) NOT NULL, `innodb_log_group_home_dir` VARCHAR(2048) NOT NULL, `innodb_log_files_in_group` VARCHAR(100) NOT NULL, `innodb_log_file_size` VARCHAR(100) NOT NULL, `backup_destination` VARCHAR(4096) NOT NULL, `lock_time` DOUBLE PRECISION (7,3) NOT NULL, `exit_state` VARCHAR(10) NOT NULL, `last_error` VARCHAR(4096) NOT NULL, `last_error_code` INT NOT NULL ) ENGINE=CSV DEFAULT CHARSET=utf8 COLLATE=utf8_bin
                 2204 Query     SELECT DISTINCT(ENGINE) FROM information_schema.tables WHERE ENGINE IS NOT NULL
                 2204 Query     SHOW VARIABLES LIKE 'innodb_file_format'
                 2204 Execute   INSERT INTO mysql.backup_progress( backup_id, tool_name, error_code, error_message, current_state ) VALUES (13255822421936251,'mysqlbackup',0,'NO_ERROR','mysqlbackup returns success.')
                 2204 Prepare   INSERT INTO mysql.backup_history(backup_id, tool_name, start_time, end_time, binlog_pos, binlog_file, compression_level, engines, innodb_data_file_path, innodb_file_format, start_lsn, end_lsn, incremental_base_lsn, backup_type, backup_format, mysql_data_dir, innodb_data_home_dir, innodb_log_group_home_dir, innodb_log_files_in_group, innodb_log_file_size, backup_destination, lock_time, exit_state, last_error, last_error_code ) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
                 2204 Execute   INSERT INTO mysql.backup_history(backup_id, tool_name, start_time, end_time, binlog_pos, binlog_file, compression_level, engines, innodb_data_file_path, innodb_file_format, start_lsn, end_lsn, incremental_base_lsn, backup_type, backup_format, mysql_data_dir, innodb_data_home_dir, innodb_log_group_home_dir, innodb_log_files_in_group, innodb_log_file_size, backup_destination, lock_time, exit_state, last_error, last_error_code ) VALUES(13255822421936251,'./mysqlbackup --user=root --backup-dir=/tmp/mysql-backup --only-innodb backup-and-apply-log ','2012-01-03 10:17:22','2012-01-03 10:17:23',-1,'BINLOG-DISABLED',0,'MEMORY:MyISAM:InnoDB:CSV:PERFORMANCE_SCHEMA:','ibdata1:10M:autoextend','Antelope',56369664,56369819,0,'FULL','DIRECTORY','/var/lib/mysql/','/var/lib/mysql','/var/lib/mysql','2','5242880','/tmp/mysql-backup',0,'SUCCESS','NO_ERROR',0)
                 2204 Close stmt        
                 2204 Close stmt
------------------------------------------------------------------------------------------------
[25 Jan 2013 18:54] John Russell
Added to changelog for 3.8.1: 

The --slave-info option is not compatible with
--only-innodb-with-frm, --only-innodb-with-frm=all, or
--only-innodb-with-frm=related. Now the mysqlbackup command reports a
command-line error if you specify those options in combination.