Bug #33963 unknown variable 'character_set_database=utf8'
Submitted: 21 Jan 2008 17:51 Modified: 23 Jan 2008 15:52
Reporter: Ken Johanson Email Updates:
Status: Not a Bug Impact on me:
None 
Category:MySQL Server: Charsets Severity:S2 (Serious)
Version:5.1.22-rc-log OS:Linux (Fedora Core 8)
Assigned to: CPU Architecture:Any

[21 Jan 2008 17:51] Ken Johanson
Description:
The following config-param (and several others) abort server startup with a "unknown variable" message in the error log:

[mysqld]
set-variable=collation_system=utf8_unicode_ci

Even though it is documented as a variable at:
http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#option_mysqld_characte...

Some collation_* variables have this problem also. Variables like:

set-variable=collation_server=utf8_unicode_ci
set-variable=character_set_server=utf8

work fine however.

How to repeat:
Install 5.1.22-rc-log and attempt to set the variables listed in the docs, in my.cnf.

Suggested fix:
Error log be more verbose/helpful if this is a deprecation or my.cnf-formatting issue.
[21 Jan 2008 18:00] Ken Johanson
CORRECTION: docs for this server version 5.1 are at:
http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html, and these do not listed character_set_system as supported, however:

character_set_database in the config file is reported as unknown at server startup.
[23 Jan 2008 6:51] Sveta Smirnova
Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://dev.mysql.com/doc/ and the instructions on
how to report a bug at http://bugs.mysql.com/how-to-report.php

Please check table at http://dev.mysql.com/doc/refman/5.1/en/mysqld-option-tables.html about possibility to set specific variable in configuration file.
[23 Jan 2008 15:52] Ken Johanson
Thank you. I will point out that the tables in 
http://dev.mysql.com/doc/refman/5.1/en/using-system-variables.html and 
http://dev.mysql.com/doc/refman/5.1/en/mysqld-option-tables.html

are similar but the docs do not (IMO) clearly indicate what the difference is. Unless one is obsolete and should be removed, the name "5.1.3. System Variables" implies to a first time reader that it is the reference for the server (mysqld). Additionally "5.1.4. Using System Variables" refers only to 5.1.3 without mention of "5.1.1".