Bug #40665 --innodb-status-file=/foo/bar is silently ignored
Submitted: 12 Nov 2008 12:43 Modified: 13 May 2010 16:03
Reporter: Axel Schwenke Email Updates:
Status: Verified Impact on me:
Category:MySQL Server: InnoDB storage engine Severity:S4 (Feature request)
Version:all OS:Any
Assigned to: Assigned Account CPU Architecture:Any

[12 Nov 2008 12:43] Axel Schwenke
Unlike other logfile related server variables, the innodb_status_file variable does not take an optional argument for the file name. More badly: if a file name is specified, no InnoDB status file is created at all. There is no message in the error log about the (supposedly) wrong usage of --innodb_status_file.

Without that second part (no error/warning) this would be a feature request.

How to repeat:


in my.cnf and see how no status file is created and no warning/error is shown in error log.

Suggested fix:
Make innodb-status-file work like the other log file variables (log, log-bin etc.) and allow an optional file name. If a file of that name already exists, use it. Especially: do not modify file permissions!

Rationale: in order to get a non truncated InnoDB status report, one can then use --innodb-status-file to point to a well known, world readable file and read the file contents with LOAD_FILE()

This would be a workaround for bug#19825
[12 Nov 2008 16:31] Calvin Sun
innodb-status-file is defined as MYSQL_SYSVAR_BOOL. It does not take any string. The server (plugin) validates the values of those variables. If it is invalid, the server just ignores it.

The documentation could be more specific on those parameters. Suggest to add the following to the section of "InnoDB Startup Options and System Variables", regarding --innodb_status_file:

By default, the file is not created. To create it, start mysqld with the --innodb_status_file=1 option. The file is deleted during normal shutdown.
[12 Nov 2008 21:32] Calvin Sun
Asked docs team via email to document it in more details. Change this one to Feature Request.