Bug #28397 MySQLInstanceConfig can not write my.ini
Submitted: 13 May 2007 11:11 Modified: 10 Jul 2007 10:57
Reporter: Louis Breda van Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server: Installing Severity:S1 (Critical)
Version:5.0 and 5.1 OS:Microsoft Windows (VISTA 64)
Assigned to: CPU Architecture:Any
Tags: install, MySQLInstanceConfig, windows

[13 May 2007 11:11] Louis Breda van
Description:
Hello,

I did a clean windows install (installed a backup) and tryed to do a fresh MySQL Install, using the installer and the MySQLInstanceConfig, It did NOT work 
The MySQLInstanceConfig gave a message saying it could not write my.ini (error -1)

So I tryed to find out why. I verified and changed security settings. It did not help. I tryed 5.1 instead of 5.0 same problem, I tryed 32 bit instead of 64 bit did not work as well.

So at last I found the following workarround:

oto binary directory in cmd (as adminsitrator)

regedt32
Hkey_Local_Machine
-SYSTEM
-SOFTWARE
-SERVICES
-MYSQL
-ImagePath
change to e.g. "C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld-nt" --defaults-file="C:\Program Files\MySQL\MySQL Server 5.1\my.ini" MySQL

How to repeat:
Simply, try it.
[14 May 2007 6:07] Tonci Grgin
Hi Louis and thanks for excellent report.

I saw something similar on my x64 machine. Will have Miguel look into this as he worked on Bug#28092.
[16 May 2007 19:33] Tonci Grgin
Louis, I am surprised, given I saw this error with *same* setup files for 5.0.38 on XP x64, that I can't repeat it on my Vista box...

Environment:
 - MySQL server mysql-enterprise-gpl-5.0.38-winx64.zip
 - Windows Vista ultimate x64, version 6.0, build 6000
 - AMD x64, 3GB RAM
 - MySql has never been started on this machine before
 - Both MyODBC 3.51.14 and v5.0.11 installed before
 - Logged as administrator
 - Added Bin folder to path

I choose detailed configuration, even started instance manager once again after starting the service, all works just fine...

Now, the only thing I can think of is that, on my XP x64, I had previous installations of MySQL server and stray my.ini files all over the path... One more thing, I am unable to follow your registry path at all! I just don't have keys you reported on my Vista box...

Can you provide me with more info on this?
[17 May 2007 6:47] Tonci Grgin
Also, are you absolutely sure there was no trace of MySQL server service anywhere on your system (registry, stray my.ini files etc.)?
[18 May 2007 8:49] Louis Breda van
Tonci,

I did some futher investications and did discover strange things:
- I can not change the my.ini file using an editor started as administrator
even running form the administrator account
The editor complains "read-only"
- in fact that counts for files in a couple of system maps
- and that dispite the fact that the files are NOT readonly 
- and IMHO I have the correct rights settings
- so I can image that the configurator runs in the same problem
- but on the other side, SQL administrator GUI does not have problems changing
the my.ini file
- perhaps, the administrator tool uses read, store under other name, rename to my.ini principle. It is just a guess. Trying that with an editor works
- but the botum line is, there is some kind of other protection meganism, I do not understand. Google did not help this time
- It probalby has a lot to do with microsofts intention to protect us from all the bad in the world.  

Sincerely,

Louis
[18 May 2007 8:59] Tonci Grgin
Louis, with Microsoft's intention to protect us from all the bad *we can do to ourselves*, ;-).

This is actually "Can't repeat" situation but I'll keep it open while trying to reproduce on my XP x64... 
And I still do need answers to my questions:
 - Non existent registry path on my Vista
 - Previous MySQL installations etc.
[19 May 2007 10:03] Louis Breda van
Tonci,

I have 5118 running now, but without usung the not working configurator tool, and using many dirty tricks. And even so not 100% correct. Afew remarks:
- configurator tool still have "write problem, fow whatever reason" Itried this on two different vista64 instances. Problem is the same;
- I did use the install with additional the registry path trick to get the service installed.
- however doing so does not provide the correct files in the data directory.
- in my inifile I "redirect" the data files towards another partion. This is not handled correct when installing the software
- *one of* the reasons the service did not start, was that Table 'mysql.plugin' doesn't exist. To fix that you should run mysql_upgrade. However that is not posible since the server does not run :>
- however the service did try to start and did create an I think incorrect initial innodb table. But the service did not manage to start for other reasons to follow.
- so I did try to fix that by copying files from the serverdatadir to the datadir on my own mysql datapartition. It did not help enough.
- so I did use another dirty trick. 
1) installed 5118 on a w2k system
2) I deleted all files in my datadir on my vista system
3) copyed the files from the w2k datadir to the vista data dir
- and started the server. Now it works :>>

Not the way it should work :>

Attached an error log and my personal my.ini

Sincerely,

Louis
[19 May 2007 10:06] Louis Breda van
Tonci,

I forgot to ask attention for one of the last lines in the error log

070519 11:41:35 [ERROR] Can't open and lock privilege tables: Table 'mysql.servers' doesn't exist

Sincerely,

Louis
[19 Jun 2007 19:37] Louis Breda van
Tonci,

Quite annoying that it is still impossible to install mysql5119 (64 bit) on my system, without dirty tricks.

Note that I tryed on a completely clean system.

Any change that this will be fixed soon !! :<<<

Sincerely,

Louis
[19 Jun 2007 19:44] Tonci Grgin
Louis, I agree with you but I'm the only one able to repeat this problem and only once... As I was in a hurry to get server running I paid little to no attention to this at the time. Recreating it will take a while as my Vista x64 is not clean anymore.
[19 Jun 2007 20:10] Louis Breda van
Tonci,

It is not at all a problem to repeat this problem. All you need is a system, without MySQL installed (true image helps :>, deinstalling cleaning etc probably too).

Perhaps a pity, but I just tried to install the service, (mysqld-nt.exe --install). That works, dirty registry tricks etc to follow to morrow or so ...

What I can add is, that a started mysql service, does not change the behavoir of the InstanceConfigurator. 

Simply bull shit!, Perhaps I can trace or try something for you!

Sincerely,

Louis
[19 Jun 2007 20:30] Tonci Grgin
Again, I have to agree. Just what I saw. But, there's always a "but", I need repeatable test case to start checking what went wrong :(
[20 Jun 2007 19:21] Louis Breda van
Tonci,

I have mysql 5119 running now (using regedit32).
- I logged in as root (no password, not intended ofcourse)
- I did use the admin tool to set some startup vars
- but could not assign a root password there :< (not allowed to ?)

And then
- I did start the serverconfiguratro
- which still does not work,
- but did replace the config file, my settings where gone.

Perhaps this helps.

Sincerely,

Louis

By the way, I could not install 5119 32 bit on my laptop. 
- error 1335 productcab corrupt (I tried two downloads)
- so I did install 5118, which worked
[7 Jul 2007 14:38] Louis Breda van
Hello,

I just downloaded, installed and configured MySQL5120 64 bit on vista ultimate 64 and it worked!

There still is a small problem the installer is calling the configurator. That does not work, probably because of autorisation reasons (I guess). 

But when starting the configurator as administrator, I managed to setup the service. 

Note that I had to remove the service and mysql-files completely first, I did not manage to upgrade the existing installation. However that installation might not have been completely correct, since I tricked things, trying to get 5119 working. 

Congratulated,

Louis
[8 Jul 2007 16:11] Louis Breda van
Tonci, 

Installation not yet correct. The mysql initialisation scripts are not correct or complete.

"070708 17:43:22 [ERROR] Can't open and lock privilege tables: Table 'mysql.servers' doesn't exist" I fixit it running the corresponding script "mysql_fix_privilege_tables.sql", but that should not be necessary of course !!

Louis
[10 Jul 2007 9:49] Tonci Grgin
Louis sorry, took a short vacation.

> Installation not yet correct. The mysql initialisation scripts are not correct or complete.

So, the issue described earlier (can't write to my.ini) is fixed?

> "070708 17:43:22 [ERROR] Can't open and lock privilege tables: Table 'mysql.servers' doesn't exist" I fixit it running the corresponding script
"mysql_fix_privilege_tables.sql", but that should not be necessary of course !!

Agree but this is intended and documented behavior. You can always open feature request (S4) bug report and ask for this.
[10 Jul 2007 10:33] Louis Breda van
Tonci.

I hope you enjoyed your vacation.

Yes, the bug seems to be fixed. 
However IMHO a cleam install should work without additional tricks .. really.

Sincerely,

Louis
[10 Jul 2007 10:57] Tonci Grgin
Loius I do agree your feature request is reasonable. Please search BugsDB and see if it's already posted. If not, open one.

As for main part of problem, my fault. This is actually a duplicate of Bug#14649.