Bug #73435 innodb_api_enable_binlog is not recognized when used on the mysqld command line
Submitted: 30 Jul 2014 12:27
Reporter: Umesh Shastry Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: Options Severity:S3 (Non-critical)
Version:5.6.21 OS:Any
Assigned to: CPU Architecture:Any
Tags: innodb_api_enable_binlog, unknown option '-▒'

[30 Jul 2014 12:27] Umesh Shastry
Description:
As per http://dev.mysql.com/doc/refman/5.6/en/innodb-memcached-replication.html, to use the InnoDB memcached plugin with the MySQL binary log, enable the innodb_api_enable_binlog configuration option on the master server. This option can only be set at server boot time and hence tried to set below parameters but noticed that it is not accepting the parameter when passed through command line option to mysqld.

mysqld ... --log-bin -–innodb_api_enable_binlog=1

mysql-advanced-5.6.21]$ bin/mysqld --no-defaults --basedir=/data/ushastry/server/mysql-advanced-5.6.21 --datadir=/tmp/master --log-bin -–innodb_api_enable_binlog=1 &
[1] 30452
[ushastry@cluster-repo mysql-advanced-5.6.21]$ 2014-08-01 08:35:15 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2014-08-01 08:35:15 30452 [Warning] Buffered warning: Changed limits: max_open_files: 1024 (requested 5000)

2014-08-01 08:35:15 30452 [Warning] Buffered warning: Changed limits: table_cache: 431 (requested 2000)

2014-08-01 08:35:15 30452 [Warning] No argument was provided to --log-bin, and --log-bin-index was not used; so replication may break when this MySQL server acts as a master and has his hostname changed!! Please use '--log-bin=cluster-repo-bin' to avoid this problem.
2014-08-01 08:35:15 30452 [Note] Plugin 'FEDERATED' is disabled.
2014-08-01 08:35:15 30452 [Note] InnoDB: Using atomics to ref count buffer pool pages
2014-08-01 08:35:15 30452 [Note] InnoDB: The InnoDB memory heap is disabled
2014-08-01 08:35:15 30452 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2014-08-01 08:35:15 30452 [Note] InnoDB: Memory barrier is not used
2014-08-01 08:35:15 30452 [Note] InnoDB: Compressed tables use zlib 1.2.3
2014-08-01 08:35:15 30452 [Note] InnoDB: Using Linux native AIO
2014-08-01 08:35:15 30452 [Note] InnoDB: Not using CPU crc32 instructions
2014-08-01 08:35:15 30452 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2014-08-01 08:35:15 30452 [Note] InnoDB: Completed initialization of buffer pool
2014-08-01 08:35:15 30452 [Note] InnoDB: Highest supported file format is Barracuda.
2014-08-01 08:35:15 30452 [Note] InnoDB: 128 rollback segment(s) are active.
2014-08-01 08:35:15 30452 [Note] InnoDB: Waiting for purge to start

2014-08-01 08:35:15 30452 [Note] InnoDB: 5.6.21 started; log sequence number 1661098
2014-08-01 08:35:15 30452 [ERROR] bin/mysqld: unknown option '-▒'
2014-08-01 08:35:15 30452 [ERROR] Aborting

But, when used this option in configuration file then it works:

## Added options to conf file

 mysql-advanced-5.6.21]$ more my.cnf |grep -A1 -B2 innodb_api_enable_binlog
[mysqld]
log_bin
innodb_api_enable_binlog=1

## Bring up mysqld

mysql-advanced-5.6.21]$ bin/mysqld --defaults-file=./my.cnf &
..
Version: '5.6.21-enterprise-commercial-advanced-log'  socket: '/tmp/mysql.sock'  port: 3306  MySQL Enterprise Server - Advanced Edition (Commercial)

## Confirmed that option is enabled

 mysql-advanced-5.6.21]$ bin/mysql -u root -p test
..

mysql> show variables like 'innodb_api_enable_binlog';
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| innodb_api_enable_binlog | ON    |
+--------------------------+-------+
1 row in set (0.00 sec)

mysql>

How to repeat:
See description

Suggested fix:
Should work as documented