Bug #15070 Wrong path to charsets
Submitted: 19 Nov 2005 16:39 Modified: 27 Nov 2005 8:17
Reporter: Thomas GODART Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Server Severity:S3 (Non-critical)
Version:5.0.16 OS:Windows (Windows XP)
Assigned to: Vasily Kishkin CPU Architecture:Any

[19 Nov 2005 16:39] Thomas GODART
Description:
No utf8 charset ? For each request on utf8 tables, I find in Apache log file the 2 lines :
* File 'c:\mysql\share\charsets\?.conf' not found (Errcode: 22)
* Character set '#33' is not a compiled character set and is not specified in the 'c:\mysql\share\charsets\Index' file

The problem is that these lines comes when using my dev. MySQL5 server (listening to the 3308 port) installed in c:\mysql5\, while I also have a prod. MySQL4 server (listening to the 3306 port) installed in c:\mysql\...

I did not manage to solve this. Any idea ?

Note that the bug don't cause any data loss or corruption, even on non-ascii characters.

How to repeat:
Try installing MySql servers 4 and 5 on the same computer : on the 5 one, utf8 is the default charset so newly created tables are in utf8 ; whereas MySql 4 don't seem to handle it (utf8 "is not specified in the 'c:\mysql\share\charsets\Index' file").
[20 Nov 2005 9:56] Vasily Kishkin
Could you please say me you have diffirent my.ini for 4.1 and 5.0 servers ? If yes could you please write here value of option basedir ?
[21 Nov 2005 19:27] Thomas GODART
Sure.

The services are started this way :
C:\mysql\bin\mysqld-max-nt --defaults-file="C:\mysql\my.ini" "MySQL"
C:\mysql5\bin\mysqld-max-nt --defaults-file="C:\mysql5\my.ini" "MySQL5"

and I found in "C:\mysql5\my.ini" :
basedir="C:/mysql5/"
datadir="C:/mysql5/Data/"

In fact it's a rather old MySQL 4 installation, I had to make some changes in Windows registry to made it visible in Administrator (renaming the service from 'Mysql' to 'MySQL'...). Because it's a production server, upgrades where done without installation (just replacing the files from .zip), it always worked this way. Then the 5.0 server beneficed from clean installation with the tool provided (I find this one to be a very great job for the product image).

I noticed today that the two lines only appear with the "mysql_connect" function, and not with every request as I said.

Note that something is special with my installation : I never use passwords because I don't allow foreign access. And it was responsible for a bug (#13877 : "Can't jump from Query Browser to Administrator with a blank password").
[22 Nov 2005 17:27] Thomas GODART
About the blank password aspect, I tested with a password and after some difficulties ("PHP Warning:  mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in (...)", solved by "SET PASSWORD FOR 'some_user'@'some_host' = OLD_PASSWORD('newpwd');"), I saw that there were no link with the bug.

I upgraded with the latest 5.0.16 (and again with the installer, not the .zip file), the issue was the same.

So, to avoid to fill my Apache error.log file, I finally found a way by adding a line in my my.ini file which solved this aspect :
    character-sets-dir="C:/mysql5/share/charsets/"

Note that it did not solved the bug, only its consequence.
[27 Nov 2005 8:17] Vasily Kishkin
I was not able to reproduce the bug. I installed two services (like you) and started them without any problems.