Bug #46218 MySQL 5.4.4 won't start in 5.1 environment
Submitted: 16 Jul 2009 12:39 Modified: 7 Aug 2009 16:11
Reporter: Konstantin Osipov (OCA) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Options Severity:S3 (Non-critical)
Version: OS:Any
Assigned to: Alexander Barkov CPU Architecture:Any
Tags: regression
Triage: Triaged: D1 (Critical)

[16 Jul 2009 12:39] Konstantin Osipov
Description:
MySQL 5.4.4 (azalea) won't start in 5.1 environment, that is, with 5.1 configuration file. 

This is an incompatible change, a regression introduced by the patch for WL#751.
This change contradicts the specification, and even if it was part of the specification, it should have followed the deprecation process, which it didn't.

I was able to observe two incompatibilities:

- "language" configuration option is no longer recognized
- the server looks for error messages file in a relative directory, different to the basedir than before. See "How to repeat" for details.

How to repeat:
Simply compile MySQL 5.4.4 (azalea) with ./BUILD/compile-* script, e.g. BUILD/compile-pentium-valgrind-max.

Use the following configuration file:

[mysql]
# The following options will be passed to all MySQL clients
[client]
port        = 3307
host        = 127.0.0.1

[mysqld]
socket=/opt/local/var/mysql/mysql.sock
port=3307
language=/home/kostja/work/5.4-azalea/sql/share/english
character-sets-dir=/home/kostja/work/5.4-azalea/sql/share/charsets
basedir=/home/kostja/work/5.4-azalea
datadir=/opt/local/var/mysql

This is a minimal configuration file for mysqld, and if you change 5.4-azalea in it to, say, 5.1-bugteam, it works perfectly well.

Observe the following at server start up:

090716 16:38:12 [ERROR] Can't find messagefile '/opt/local/work/5.4-azalea/share/mysql/english/errmsg.sys'
090716 16:38:13 [Note] Plugin 'FEDERATED' is disabled.
090716 16:38:13 [Note] Plugin 'InnoDB' is disabled.
090716 16:38:13 [Note] Plugin 'ndbcluster' is disabled.
090716 16:38:13 [ERROR] ./mysqld: unknown variable 'language=/home/kostja/work/5.4-azalea/sql/share/english'
090716 16:38:13 [ERROR] Aborting

090716 16:38:13 [Warning] Forcing shutdown of 3 plugins
090716 16:38:13 [Note] 

Observe that now the server looks up for errmsg.sys in basedir/share/mysql,
not in the directory specified by 'language'.
Observe that 'language' is no longer supported.

Suggested fix:
Restore 5.1 behaviour.
[16 Jul 2009 18:19] Miguel Solorzano
Thank you for the bug report.
[17 Jul 2009 9:57] Sergei Golubchik
see also bug#46236
[20 Jul 2009 10:40] Konstantin Osipov
Moving the D/W fields from the duplicate bug reported by Philip.
[20 Jul 2009 10:57] Alexander Barkov
A patch is available here:

http://lists.mysql.com/commits/78995
[21 Jul 2009 8:55] Alexander Barkov
Pushed into mysql-azalea-bugfixing
[21 Jul 2009 10:27] Philip Stoev
If you intend to obsolete the "language" option, please take a look at the MTR-specific considerations at

http://bugs.mysql.com/bug.php?id=46236
[23 Jul 2009 10:23] Bugs System
Pushed into 5.4.4-alpha (revid:alik@sun.com-20090723102221-ps4uaphwbxzj8p0q) (version source revid:bar@mysql.com-20090721083750-oput8niky7meuyjd) (merge vers: 5.4.4-alpha) (pib:11)
[6 Aug 2009 4:01] Alexander Barkov
See also Bug#46221
[7 Aug 2009 16:11] Paul Dubois
Bug does not appear in any released version, but the change in the way of specifying the location of the error message file is described here:

http://dev.mysql.com/doc/refman/5.4/en/error-message-language.html