Bug #69727 --performance_schema_instrument value quoting is problematic
Submitted: 11 Jul 2013 18:41 Modified: 11 Oct 2013 8:23
Reporter: Todd Farmer (OCA) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Performance Schema Severity:S3 (Non-critical)
Version:5.6.11 OS:Windows
Assigned to: Marc ALFF CPU Architecture:Any

[11 Jul 2013 18:41] Todd Farmer
Description:
The documentation shows the following syntax for --performance_schema_instrument usage:

To control an instrument at server startup, use an option of this form:

--performance-schema-instrument='instrument_name=value'

http://dev.mysql.com/doc/refman/5.6/en/performance-schema-startup-configuration.html

However, this does not work for me (on Win7).  The formats that do work for me are:

--performance-schema-instrument='instrument_name'=value
--performance-schema-instrument=instrument_name=value

How to repeat:
Try to start MySQL with --performance-schema-instrument='instrument_name=value'.

Suggested fix:
Change behavior to allow quoted name=value pair, or change documentation to clarify proper format.
[11 Jul 2013 18:49] Todd Farmer
Example:

C:\mysql-5.6.11-winx64>bin\mysqld --no-defaults --performance_schema_instrument=
'wait/io/socket/sql/%=counted' --port=3309 --console
2013-07-11 11:48:26 0 [Warning] TIMESTAMP with implicit DEFAULT value is depreca
ted. Please use --explicit_defaults_for_timestamp server option (see documentati
on for more details).
2013-07-11 11:48:26 4356 [Warning] Buffered warning: Invalid value for performan
ce_schema_instrument ''wait/io/socket/sql/%'
[8 Oct 2013 22:31] Todd Farmer
Posted by developer:
 
Confirmed fixed in 5.6.13:

D:\mysql-advanced-5.6.13-winx64>bin\mysqld --no-defaults --port=3307 --performan
ce_schema_instrument='wait/io/socket/sql/%=counted' --console
2013-10-08 15:30:14 0 [Warning] TIMESTAMP with implicit DEFAULT value is depreca
ted. Please use --explicit_defaults_for_timestamp server option (see documentati
on for more details).
...
2013-10-08 15:30:16 8448 [Note] bin\mysqld: ready for connections.
Version: '5.6.13-enterprise-commercial-advanced'  socket: ''  port: 3307  MySQL
Enterprise Server - Advanced Edition (Commercial)
[11 Oct 2013 8:23] Marc ALFF
See related bug#13955232

Noted in 5.6.13, 5.7.2 changelogs.

On Windows, command-line options of the form --opt_name="opt_value"
worked but --opt_name='opt_value' did not.

On all platforms, for Performance Schema options of the form
--performance_schema_instrument="instrument=value", invalid
instrument names now are rejected.

http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-13.html